import dayjs from 'dayjs';

const data = {
  'post /api/v1/login': {
    id: '215811c9-c0aa-4148-8a4b-e02892d7446f',
    firstname: 'tony',
    lastname: 'Stark',
    email: 'tony.stark@gladysassistant.com',
    language: 'en',
    birthdate: '2011-02-04',
    role: 'admin',
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z',
    refresh_token:
      '15535ed55088d46b9a01738bfb2b96f982fb16edb2a5241d078775a7db8aa38a8ae59e73f81aa5367b62b1daef8aea5e3b7de4ff66dc8fb00f6ed02b6c3eb14ac68b1716e9cdb9425f88bf2eeb5b8cc3b4eb66913bbd8e5084381dc22fe1ff092c0efd80f2ec766511f03121bdffcc02202a20d5916e6e58c6aed4a84fb9980a99b828c8ded74d17e3c91108f7e50dccb80281720b6b37fe26345371cd2b4a1134abfbc63689814375aee968af15dc24379c7c95200c0c1740817806abfca934ccb4fb183e4c95e19f55a2e4c8a3bb453cf0700a6f7baa7088b24297d212f2ccfc3586093c28e731e9909addbead2b9c095f1a7f8993f4ddd405',
    access_token:
      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiOTJiZjk0NDEtYzljMC00YTVmLWI3YmItNGY3NmYwZWM0Yzk1Iiwic2NvcGUiOlsiZGFzaGJvYXJkOndyaXRlIiwiZGFzaGJvYXJkOnJlYWQiXSwic2Vzc2lvbl9pZCI6IjZhOTYyNzk2LTZlMGQtNDRiNC04Y2Y2LWRkMmJhYjhjY2M0ZiIsImlhdCI6MTU1MTA2NzM5MywiZXhwIjoxNTUxMTUzNzkzLCJhdWQiOiJ1c2VyIiwiaXNzIjoiZ2xhZHlzIn0.JfiRsTn4cyARIMElD5DgyFt7xKHPcTNnaMLKznbfVc4'
  },
  'get /api/v1/me': {
    id: '215811c9-c0aa-4148-8a4b-e02892d7446f',
    firstname: 'Tony',
    lastname: 'Stark',
    selector: 'tony',
    email: 'tony.stark@gladysassistant.com',
    language: navigator.language === 'fr' ? 'fr' : 'en',
    birthdate: '2011-02-04',
    role: 'admin',
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z',
    refresh_token:
      '15535ed55088d46b9a01738bfb2b96f982fb16edb2a5241d078775a7db8aa38a8ae59e73f81aa5367b62b1daef8aea5e3b7de4ff66dc8fb00f6ed02b6c3eb14ac68b1716e9cdb9425f88bf2eeb5b8cc3b4eb66913bbd8e5084381dc22fe1ff092c0efd80f2ec766511f03121bdffcc02202a20d5916e6e58c6aed4a84fb9980a99b828c8ded74d17e3c91108f7e50dccb80281720b6b37fe26345371cd2b4a1134abfbc63689814375aee968af15dc24379c7c95200c0c1740817806abfca934ccb4fb183e4c95e19f55a2e4c8a3bb453cf0700a6f7baa7088b24297d212f2ccfc3586093c28e731e9909addbead2b9c095f1a7f8993f4ddd405',
    access_token:
      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiOTJiZjk0NDEtYzljMC00YTVmLWI3YmItNGY3NmYwZWM0Yzk1Iiwic2NvcGUiOlsiZGFzaGJvYXJkOndyaXRlIiwiZGFzaGJvYXJkOnJlYWQiXSwic2Vzc2lvbl9pZCI6IjZhOTYyNzk2LTZlMGQtNDRiNC04Y2Y2LWRkMmJhYjhjY2M0ZiIsImlhdCI6MTU1MTA2NzM5MywiZXhwIjoxNTUxMTUzNzkzLCJhdWQiOiJ1c2VyIiwiaXNzIjoiZ2xhZHlzIn0.JfiRsTn4cyARIMElD5DgyFt7xKHPcTNnaMLKznbfVc4'
  },
  'get /api/v1/me/picture':
    '',
  'get /api/v1/user?fields=id,firstname,selector,picture,last_latitude,last_longitude,last_altitude,last_accuracy,last_location_changed': [
    {
      firstname: 'Tony',
      last_latitude: 41.93425385676557,
      last_longitude: 12.402756238310928,
      picture:
        ''
    }
  ],
  'post /api/v1/access-token': {
    access_token:
      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiOTJiZjk0NDEtYzljMC00YTVmLWI3YmItNGY3NmYwZWM0Yzk1Iiwic2NvcGUiOlsiZGFzaGJvYXJkOndyaXRlIiwiZGFzaGJvYXJkOnJlYWQiXSwic2Vzc2lvbl9pZCI6IjZhOTYyNzk2LTZlMGQtNDRiNC04Y2Y2LWRkMmJhYjhjY2M0ZiIsImlhdCI6MTU1MTA2NzM5MywiZXhwIjoxNTUxMTUzNzkzLCJhdWQiOiJ1c2VyIiwiaXNzIjoiZ2xhZHlzIn0.JfiRsTn4cyARIMElD5DgyFt7xKHPcTNnaMLKznbfVc4'
  },
  'post /api/v1/user': {
    id: '215811c9-c0aa-4148-8a4b-e02892d7446f',
    firstname: 'tony',
    lastname: 'Stark',
    email: 'tony.stark@gladysassistant.com',
    language: 'en',
    birthdate: '2011-02-04',
    role: 'admin',
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z',
    refresh_token:
      '15535ed55088d46b9a01738bfb2b96f982fb16edb2a5241d078775a7db8aa38a8ae59e73f81aa5367b62b1daef8aea5e3b7de4ff66dc8fb00f6ed02b6c3eb14ac68b1716e9cdb9425f88bf2eeb5b8cc3b4eb66913bbd8e5084381dc22fe1ff092c0efd80f2ec766511f03121bdffcc02202a20d5916e6e58c6aed4a84fb9980a99b828c8ded74d17e3c91108f7e50dccb80281720b6b37fe26345371cd2b4a1134abfbc63689814375aee968af15dc24379c7c95200c0c1740817806abfca934ccb4fb183e4c95e19f55a2e4c8a3bb453cf0700a6f7baa7088b24297d212f2ccfc3586093c28e731e9909addbead2b9c095f1a7f8993f4ddd405',
    access_token:
      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiOTJiZjk0NDEtYzljMC00YTVmLWI3YmItNGY3NmYwZWM0Yzk1Iiwic2NvcGUiOlsiZGFzaGJvYXJkOndyaXRlIiwiZGFzaGJvYXJkOnJlYWQiXSwic2Vzc2lvbl9pZCI6IjZhOTYyNzk2LTZlMGQtNDRiNC04Y2Y2LWRkMmJhYjhjY2M0ZiIsImlhdCI6MTU1MTA2NzM5MywiZXhwIjoxNTUxMTUzNzkzLCJhdWQiOiJ1c2VyIiwiaXNzIjoiZ2xhZHlzIn0.JfiRsTn4cyARIMElD5DgyFt7xKHPcTNnaMLKznbfVc4'
  },
  'patch /api/v1/user': {
    id: '215811c9-c0aa-4148-8a4b-e02892d7446f',
    firstname: 'tony',
    lastname: 'Stark',
    email: 'tony.stark@gladysassistant.com',
    language: 'en',
    birthdate: '2011-02-04',
    role: 'admin',
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z',
    refresh_token:
      '15535ed55088d46b9a01738bfb2b96f982fb16edb2a5241d078775a7db8aa38a8ae59e73f81aa5367b62b1daef8aea5e3b7de4ff66dc8fb00f6ed02b6c3eb14ac68b1716e9cdb9425f88bf2eeb5b8cc3b4eb66913bbd8e5084381dc22fe1ff092c0efd80f2ec766511f03121bdffcc02202a20d5916e6e58c6aed4a84fb9980a99b828c8ded74d17e3c91108f7e50dccb80281720b6b37fe26345371cd2b4a1134abfbc63689814375aee968af15dc24379c7c95200c0c1740817806abfca934ccb4fb183e4c95e19f55a2e4c8a3bb453cf0700a6f7baa7088b24297d212f2ccfc3586093c28e731e9909addbead2b9c095f1a7f8993f4ddd405',
    access_token:
      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiOTJiZjk0NDEtYzljMC00YTVmLWI3YmItNGY3NmYwZWM0Yzk1Iiwic2NvcGUiOlsiZGFzaGJvYXJkOndyaXRlIiwiZGFzaGJvYXJkOnJlYWQiXSwic2Vzc2lvbl9pZCI6IjZhOTYyNzk2LTZlMGQtNDRiNC04Y2Y2LWRkMmJhYjhjY2M0ZiIsImlhdCI6MTU1MTA2NzM5MywiZXhwIjoxNTUxMTUzNzkzLCJhdWQiOiJ1c2VyIiwiaXNzIjoiZ2xhZHlzIn0.JfiRsTn4cyARIMElD5DgyFt7xKHPcTNnaMLKznbfVc4'
  },
  'get /api/v1/user?fields=firstname,lastname,role,selector,picture,current_house_id,last_house_changed': [
    {
      firstname: 'Tony',
      lastname: 'Stark',
      role: 'admin',
      selector: 'tony',
      picture:
        '',
      current_house_id: '8fe7acf2-f27b-46d4-9f8e-c871ab1e6780',
      last_house_changed: '2021-07-12T07:22:19.014Z'
    },
    {
      firstname: 'Pepper',
      lastname: 'Pots',
      role: 'admin',
      selector: 'pepper',
      picture:
        '',
      current_house_id: '',
      last_house_changed: '2021-07-12T07:22:19.014Z'
    }
  ],
  'get /api/v1/dashboard': [
    {
      id: '329897d2-0620-458c-addf-4009ff5bc205',
      name: 'Home',
      type: 'main',
      selector: 'home'
    }
  ],
  'get /api/v1/dashboard/home': {
    id: '329897d2-0620-458c-addf-4009ff5bc205',
    name: 'Home',
    type: 'main',
    selector: 'home',
    boxes: [
      [
        {
          type: 'temperature-in-room',
          room: 'living-room'
        },
        {
          type: 'weather',
          house: 'main-house'
        },
        {
          type: 'camera',
          camera: 'living-room-camera',
          name: 'Garden'
        },
        {
          type: 'devices-in-room',
          room: 'exterior',
          device_features: ['aqi-city']
        },
        {
          type: 'edf-tempo'
        }
      ],
      [
        {
          type: 'devices-in-room',
          room: 'living-room',
          device_features: [
            'main-lamp-binary',
            'tv-lamp-binary',
            'tv-lamp-color',
            'tv-lamp-brightness',
            'mqtt-living-room-switch',
            'mqtt-living-room-dimmer',
            'mqtt-living-room-temp',
            'co-living-room'
          ]
        },
        {
          type: 'devices-in-room',
          room: 'living-room',
          device_features: [
            'main-tv-binary',
            'main-tv-volume',
            'main-tv-channel',
            'main-presence-sensor',
            'main-signal-sensor',
            'air-conditioning',
            'button-click'
          ]
        }
      ],
      [
        {
          type: 'chart',
          chart_type: 'line',
          device_features: ['temperature-sensor-1'],
          interval: 'last-month',
          unit: 'celsius',
          title: 'Temperature',
          display_variation: true
        },
        {
          type: 'user-presence'
        },
        {
          type: 'devices-in-room',
          room: 'parental-room',
          device_features: [
            'curtain-actions',
            'shutter-actions',
            'shutter-position',
            'thermostat',
            'water-leak',
            'smoke-sensor',
            'light-sensor'
          ]
        }
      ]
    ],
    created_at: '2019-05-15T08:48:20.275Z',
    updated_at: '2019-05-16T06:29:44.767Z'
  },
  'patch /api/v1/dashboard/home': {
    id: '329897d2-0620-458c-addf-4009ff5bc205',
    name: 'Home',
    type: 'main',
    selector: 'home',
    boxes: [
      [
        {
          type: 'weather',
          house: 'main-house'
        },
        {
          type: 'camera',
          camera: 'living-room-camera',
          name: 'Garden'
        }
      ],
      [
        {
          type: 'temperature-in-room',
          room: 'living-room'
        },
        {
          type: 'user-presence'
        },
        {
          type: 'devices-in-room',
          room: 'living-room'
        }
      ],
      [
        {
          type: 'devices-in-room',
          room: 'kitchen'
        }
      ]
    ],
    created_at: '2019-05-15T08:48:20.275Z',
    updated_at: '2019-05-16T06:29:44.767Z'
  },
  'get /api/v1/session/tablet_mode': {
    tablet_mode: false,
    current_house_id: 'house'
  },
  'get /api/v1/house/main-house/weather': {
    temperature: 27.9,
    humidity: 0.99,
    pressure: 1005.09,
    datetime: '2019-05-09T04:27:57.000Z',
    units: 'metric',
    wind_speed: 1.96,
    weather: 'rain',
    house: {
      id: '6a29f33b-e5c9-4b08-9d3f-ced2cab80a87',
      name: 'Main house',
      selector: 'main-house',
      created_at: '2019-02-20T04:26:47.811Z',
      updated_at: '2019-02-20T04:26:47.811Z'
    },
    options: {
      latitude: 12,
      longitude: 12,
      language: 'en'
    },
    hours: [
      {
        temperature: 27.9,
        humidity: 0.99,
        pressure: 1005.09,
        datetime: '2019-05-09T04:27:57.000Z',
        units: 'metric',
        wind_speed: 1.96,
        wind_direction: 1.96,
        weather: 'rain'
      }
    ],
    days: [
      {
        temperature_min: 20.9,
        temperature_max: 27.9,
        humidity: 0.99,
        pressure: 1005.09,
        datetime: '2019-05-09T04:27:57.000Z',
        units: 'metric',
        wind_speed: 1.96,
        wind_direction: 1.96,
        weather: 'rain'
      }
    ]
  },
  'get /api/v1/room/living-room?expand=temperature,devices': {
    id: '1c634ff4-0476-4733-a084-b4a43d649c84',
    name: 'Living Room',
    selector: 'living-room',
    temperature: {
      temperature: 26.5,
      unit: 'celsius'
    }
  },
  'get /api/v1/camera/living-room-camera/image':
    '',
  'get /api/v1/room/exterior': {
    id: 'af3e166e-64f1-444d-a5fe-90ceaa1fc176',
    name: 'Exterior',
    selector: 'exterior',
    devices: [
      {
        id: 'ed62adc6-b1b6-4a2b-b6d1-8e676d470e10',
        name: 'Air Quality Index',
        selector: 'aq-sensors',
        features: [
          {
            name: 'Air Quality Index',
            selector: 'aqi-city',
            category: 'airquality-sensor',
            type: 'aqi',
            min: 0,
            max: 1000,
            read_only: true,
            unit: 'aqi',
            last_value: 101,
            last_value_changed: '2023-01-23 08:50:06.556 +00:00'
          }
        ]
      }
    ]
  },
  'get /api/v1/room/parental-room': {
    id: '1c634ff4-0476-4733-a084-b4a43d649c84',
    name: 'Parental Room',
    selector: 'parental-room',
    devices: [
      {
        id: 'f131fbf2-445a-4c2c-9426-83abaf534662',
        name: 'Room sensors',
        selector: 'room-sensors',
        features: [
          {
            name: 'Water Leak',
            selector: 'water-leak',
            category: 'leak-sensor',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: true,
            last_value: 1,
            last_value_changed: '2023-01-23 08:50:06.556 +00:00'
          },
          {
            name: 'Smoke sensor',
            selector: 'smoke-sensor',
            category: 'smoke-sensor',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: true,
            last_value: 1,
            last_value_changed: '2023-01-23 08:50:06.556 +00:00'
          },
          {
            name: 'Light sensor',
            selector: 'light-sensor',
            category: 'light-sensor',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: true,
            last_value: 1,
            last_value_changed: '2023-01-23 08:50:06.556 +00:00'
          }
        ]
      },
      {
        id: 'cb3b1a30-d1b6-4624-ac18-e581e3e3b00f',
        name: 'Main curtain',
        selector: 'main-curtain',
        features: [
          {
            name: 'Curtain',
            selector: 'curtain-actions',
            category: 'curtain',
            type: 'state',
            min: -1,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Curtain',
            selector: 'curtain-position',
            category: 'curtain',
            type: 'position',
            min: 0,
            max: 100,
            read_only: true,
            last_value: 30,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: '919be7a4-df47-4726-b1c0-7412aed99769',
        name: 'Main shutter',
        selector: 'main-shutter',
        features: [
          {
            name: 'Shutter',
            selector: 'shutter-actions',
            category: 'shutter',
            type: 'state',
            min: -1,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Shutter position',
            selector: 'shutter-position',
            category: 'shutter',
            type: 'position',
            min: 0,
            max: 100,
            read_only: true,
            last_value: 30,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00',
            unit: 'percent'
          }
        ]
      },
      {
        id: 'db3e81b4-00d4-4f9b-8aa6-0e50e719a729',
        name: 'Thermostat',
        selector: 'thermostat',
        features: [
          {
            name: 'Thermostat',
            selector: 'thermostat',
            category: 'thermostat',
            type: 'target-temperature',
            min: 0,
            max: 30,
            read_only: false,
            last_value: 19.5,
            last_value_changed: '2022-10-10 07:49:07.556 +00:00',
            unit: 'celsius'
          }
        ]
      }
    ]
  },
  'get /api/v1/room/kitchen': {
    id: 'be6ba391-ebb3-472d-81af-d75d710a8430',
    name: 'Kitchen',
    selector: 'kitchen',
    devices: [
      {
        id: 'adefb484-223e-478a-8330-8fb1b3a20920',
        selector: 'sensor-kitchen',
        features: [
          {
            name: 'Temperature',
            selector: 'temperature-living-room-celsius',
            category: 'temperature-sensor',
            type: 'decimal',
            unit: 'celsius',
            min: -200,
            max: 200,
            read_only: true,
            last_value: 30,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Humidity',
            selector: 'temperature-living-room-humidity',
            category: 'humidity-sensor',
            type: 'decimal',
            unit: 'percent',
            min: -200,
            max: 200,
            read_only: true,
            last_value: 70,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Co2',
            selector: 'co2-kitchen',
            category: 'co2-sensor',
            type: 'decimal',
            unit: 'ppm',
            min: 0,
            max: 5000,
            read_only: true,
            last_value: 340,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Presence',
            selector: 'main-presence-sensor',
            category: 'presence-sensor',
            type: 'push',
            unit: null,
            min: 0,
            max: 1,
            read_only: true,
            last_value: 0,
            last_value_changed: dayjs().add(60, 'second')
          },
          {
            name: 'Signal quality',
            selector: 'main-signal-sensor',
            category: 'signal',
            type: 'integer',
            unit: null,
            min: 0,
            max: 100,
            read_only: true,
            last_value: 82,
            last_value_changed: dayjs().add(60, 'second')
          },
          {
            name: 'Kitchen door',
            selector: 'temperature-living-room-celsius',
            category: 'opening-sensor',
            type: 'binary',
            unit: null,
            min: -200,
            max: 200,
            read_only: true,
            last_value: 0,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      }
    ]
  },
  'get /api/v1/room/living-room': {
    id: '1c634ff4-0476-4733-a084-b4a43d649c84',
    name: 'Living Room',
    selector: 'living-room',
    devices: [
      {
        id: '20deebe6-57df-4940-afd1-11c189a407c2',
        name: 'TV',
        selector: 'main-tv',
        features: [
          {
            name: 'TV power',
            selector: 'main-tv-binary',
            category: 'television',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'TV Volume',
            selector: 'main-tv-volume',
            category: 'television',
            type: 'volume',
            min: 0,
            max: 20,
            read_only: false,
            last_value: 7,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'TV Channel',
            selector: 'main-tv-channel',
            category: 'television',
            type: 'channel',
            min: 0,
            max: 99,
            read_only: false,
            last_value: 22,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Presence',
            selector: 'main-presence-sensor',
            category: 'presence-sensor',
            type: 'push',
            unit: null,
            min: 0,
            max: 1,
            read_only: true,
            last_value: 0,
            last_value_changed: dayjs().add(60, 'second')
          },
          {
            name: 'Signal quality',
            selector: 'main-signal-sensor',
            category: 'signal',
            type: 'integer',
            unit: null,
            min: 0,
            max: 5,
            read_only: true,
            last_value: 4,
            last_value_changed: dayjs().add(60, 'second')
          },
          {
            name: 'Button',
            selector: 'button-click',
            category: 'button',
            type: 'click',
            min: 0,
            max: 6,
            read_only: true,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: 'e9cc8a96-56b8-41b6-ba99-4c200272abf6',
        name: 'Main sensors',
        selector: 'main-sensors',
        features: [
          {
            name: 'CO',
            selector: 'co-living-room',
            category: 'co-sensor',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: true,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
        name: 'Main Lamp',
        selector: 'main-lamp',
        features: [
          {
            name: 'First lamp',
            selector: 'main-lamp-binary',
            category: 'light',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'Second lamp ',
            selector: 'secondary-lamp-binary',
            category: 'light',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'TV Lamp color',
            selector: 'tv-lamp-color',
            category: 'light',
            type: 'color',
            min: 0,
            max: 16777215,
            read_only: false,
            last_value: 65000,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          },
          {
            name: 'TV Lamp brightness',
            selector: 'tv-lamp-brightness',
            category: 'light',
            type: 'brightness',
            min: 0,
            max: 100,
            read_only: false,
            last_value: 55,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
        name: 'TV Lamp',
        selector: 'tv-lamp',
        features: [
          {
            name: 'TV Lamp feature',
            selector: 'tv-lamp-binary',
            category: 'light',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: 'adefb484-223e-478a-8330-8fb1b3a20920',
        selector: 'temperature-living-room',
        features: [
          {
            name: 'Temperature',
            selector: 'temperature-living-room-celsius',
            category: 'temperature-sensor',
            type: 'decimal',
            unit: 'celsius',
            min: -200,
            max: 200,
            read_only: true,
            last_value: 27,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: '81d637d2-b7f5-4cc3-a39e-2270fd069ee2',
        selector: 'mqtt-living-room',
        name: 'MQTT device',
        service: {
          name: 'mqtt'
        },
        features: [
          {
            name: 'Temperature',
            selector: 'mqtt-living-room-temp',
            category: 'temperature-sensor',
            type: 'decimal',
            unit: 'celsius',
            min: -200,
            max: 200,
            read_only: true,
            last_value: 27,
            last_value_changed: '2019-02-12 07:49:07.556 +00:00'
          }
        ]
      },
      {
        id: 'db3e81b6-00d4-4f9b-8aa6-0e50e719a729',
        name: 'AC Conditioning',
        selector: 'air-conditioning',
        features: [
          {
            name: 'AC Conditioning',
            selector: 'air-conditioning',
            category: 'air-conditioning',
            type: 'binary',
            min: 0,
            max: 1,
            read_only: false,
            last_value: 1,
            last_value_changed: '2022-10-10 07:49:07.556 +00:00'
          },
          {
            name: 'AC Conditioning',
            selector: 'air-conditioning',
            category: 'air-conditioning',
            type: 'mode',
            min: 0,
            max: 2,
            read_only: false,
            last_value: 1,
            last_value_changed: '2022-10-10 07:49:07.556 +00:00'
          },
          {
            name: 'AC Conditioning',
            selector: 'air-conditioning',
            category: 'air-conditioning',
            type: 'target-temperature',
            min: 0,
            max: 30,
            read_only: false,
            last_value: 24,
            last_value_changed: '2022-10-10 07:49:07.556 +00:00',
            unit: 'celsius'
          }
        ]
      }
    ]
  },
  'post /api/v1/variable/DEVICE_STATE_HISTORY_IN_DAYS': {
    id: '18da1930-abe9-4c99-ab9c-7ddd61aef692',
    name: 'DEVICE_STATE_HISTORY_IN_DAYS',
    value: 90,
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z'
  },
  'post /api/v1/house': {
    id: '6a29f33b-e5c9-4b08-9d3f-ced2cab80a87',
    name: 'My House',
    selector: 'my-house',
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z'
  },
  'post /api/v1/house/my-house/room': {
    id: '1bdc3614-6082-43c3-9e4a-3b00781013a4',
    name: 'My room',
    house_id: '6a29f33b-e5c9-4b08-9d3f-ced2cab80a87',
    created_at: '2019-02-20T04:26:47.811Z',
    updated_at: '2019-02-20T04:26:47.811Z'
  },
  'get /api/v1/room?expand=devices': [
    {
      id: '1c634ff4-0476-4733-a084-b4a43d649c84',
      name: 'Living Room',
      selector: 'living-room',
      devices: [
        {
          id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
          name: 'Multi-sensor',
          selector: 'sensors',
          features: [
            {
              name: 'Temperature',
              selector: 'temperature-sensor',
              category: 'temperature-sensor',
              type: 'decimal',
              min: -20,
              max: 255,
              read_only: true,
              last_value: 25,
              unit: 'celsius',
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            },
            {
              name: 'Humidity',
              selector: 'humidity-sensor',
              category: 'humidity-sensor',
              type: 'decimal',
              min: 0,
              max: 100,
              read_only: true,
              last_value: 56,
              unit: 'percent',
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            },
            {
              name: 'Co2',
              selector: 'co2-sensor',
              category: 'co2-sensor',
              type: 'decimal',
              min: 0,
              max: 5000,
              read_only: true,
              last_value: 410,
              unit: 'ppm',
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            },
            {
              name: 'Door',
              selector: 'door-opening-sensor',
              category: 'door-opening-sensor',
              type: 'binary',
              min: 0,
              max: 1,
              read_only: true,
              last_value: 0,
              unit: 'percent',
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            },
            {
              name: 'Button',
              selector: 'button-click',
              category: 'button',
              type: 'click',
              min: 0,
              max: 6,
              read_only: true,
              last_value: 1,
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            }
          ]
        }
      ]
    },
    {
      id: 'ab42585c-415d-4696-8f4c-ff0283dcb954',
      name: 'Kitchen',
      selector: 'kitchen',
      devices: [
        {
          id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
          name: 'Kitchen Light',
          selector: 'sensors',
          features: [
            {
              name: 'Light',
              selector: 'main-lamp-binary',
              category: 'light',
              type: 'binary',
              min: 0,
              max: 100,
              read_only: true,
              last_value: 60,
              unit: ' lux',
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            }
          ]
        },
        {
          id: 'f10ae5bc-1da6-484e-b0d0-953ee94e5ccc',
          name: 'Button click',
          selector: 'button-click',
          features: [
            {
              name: 'Remote',
              selector: 'kitchen-button-click',
              category: 'button',
              type: 'click',
              min: 0,
              max: 6,
              read_only: true,
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            }
          ]
        },
        {
          id: '284d8f68-220c-45fd-a73a-eccb547aff24',
          name: 'Sensor',
          selector: 'humidity-sensor',
          features: [
            {
              name: 'Humidity',
              selector: 'kitchen-humidity-sensor',
              category: 'humidity-sensor',
              type: 'decimal',
              min: 0,
              max: 100,
              read_only: true,
              last_value: 74,
              unit: 'percent',
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            }
          ]
        },
        {
          id: '284d8f68-220c-45fd-a73a-eccb547aff24',
          name: 'Window sensor',
          selector: 'opening-sensor',
          features: [
            {
              name: 'Window',
              selector: 'kitchen-opening-sensor',
              category: 'opening-sensor',
              type: 'binary',
              min: 0,
              max: 1,
              read_only: true,
              last_value: 1,
              last_value_changed: '2019-02-12 07:49:07.556 +00:00'
            }
          ]
        }
      ]
    },
    {
      id: 'af3e166e-64f1-444d-a5fe-90ceaa1fc176',
      name: 'Exterior',
      selector: 'exterior',
      devices: [
        {
          id: 'ed62adc6-b1b6-4a2b-b6d1-8e676d470e10',
          name: 'Air Quality Index',
          selector: 'aq-sensors',
          features: [
            {
              name: 'Air Quality Index',
              selector: 'aqi-city',
              category: 'airquality-sensor',
              type: 'aqi',
              min: 0,
              max: 1000,
              read_only: true,
              unit: 'aqi',
              last_value: 101,
              last_value_changed: '2023-01-23 08:50:06.556 +00:00'
            }
          ]
        }
      ]
    }
  ],
  'post /api/v1/light/main-lamp/on': {
    type: 'light.turn-on',
    device: 'main-lamp',
    status: 'pending'
  },
  'get /api/v1/service/philips-hue/bridge': [
    {
      name: 'Philips hue',
      ipaddress: '192.168.2.245'
    }
  ],
  'get /api/v1/message': [
    {
      id: '247b1dd0-6fab-47a8-a9c8-1405deae0ae8',
      sender_id: null,
      receiver_id: '0cd30aef-9c4e-4a23-88e3-3547971296e5',
      text: "It's a clear day today. Temperature outside is 26°C.",
      is_read: true,
      created_at: dayjs()
        .subtract(1, 'hour')
        .toISOString()
    },
    {
      id: '247b1dd0-6fab-47a8-a9c8-1405deae0ae8',
      sender_id: '0cd30aef-9c4e-4a23-88e3-3547971296e5',
      receiver_id: null,
      text: "What's the weather like?",
      is_read: true,
      created_at: dayjs()
        .subtract(1, 'hour')
        .subtract(1, 'seconds')
        .toISOString()
    },
    {
      id: '247b1dd0-6fab-47a8-a9c8-1405deae0ae8',
      sender_id: null,
      receiver_id: '0cd30aef-9c4e-4a23-88e3-3547971296e5',
      text: "It's 24°C in the kitchen.",
      is_read: true,
      created_at: dayjs()
        .subtract(1, 'hour')
        .subtract(2, 'seconds')
        .toISOString()
    },
    {
      id: '247b1dd0-6fab-47a8-a9c8-1405deae0ae8',
      sender_id: '0cd30aef-9c4e-4a23-88e3-3547971296e5',
      receiver_id: null,
      text: "What's the temperature in the kitchen?",
      is_read: true,
      created_at: dayjs()
        .subtract(1, 'hour')
        .subtract(3, 'seconds')
        .toISOString()
    }
  ],
  'post /api/v1/message': {
    id: '247b1dd0-6fab-47a8-a9c8-1405deae0ae8',
    sender_id: '0cd30aef-9c4e-4a23-88e3-3547971296e5',
    receiver_id: null,
    text: 'What time is it ?',
    is_read: true,
    created_at: '2019-02-12T07:49:07.556Z'
  },
  'get /api/v1/scene': [
    {
      id: '5f515235-2a00-45f7-993f-cb24b463feec',
      selector: 'wake-up',
      icon: 'fe fe-bell',
      active: true,
      name: 'Wake Up',
      description: "Tony's wake up scene"
    }
  ],
  'get /api/v1/user': [
    {
      id: 'd84ced32-d937-4cf6-a32e-105ffb584226',
      firstname: 'Tony',
      lastname: 'Stark',
      selector: 'tony',
      role: 'admin'
    },
    {
      id: '2a16e6bb-34a8-46b9-90d3-275e4d059b41',
      firstname: 'Pepper',
      lastname: 'Pots',
      selector: 'pepper',
      role: 'user'
    }
  ],
  'get /api/v1/user/tony': {
    id: 'd84ced32-d937-4cf6-a32e-105ffb584226',
    firstname: 'Tony',
    lastname: 'Stark',
    selector: 'tony',
    email: 'tony.stark@gladysassistant.com',
    birthdate: '2011-02-04',
    language: 'en',
    role: 'admin'
  },
  'get /api/v1/user/pepper': {
    id: 'd84ced32-d937-4cf6-a32e-105ffb584226',
    firstname: 'Pepper',
    lastname: 'Pots',
    selector: 'pepper',
    email: 'pepper.pots@gladysassistant.com',
    birthdate: '2011-02-04',
    language: 'en',
    role: 'admin'
  },
  'get /api/v1/scene/wake-up': {
    id: '5f515235-2a00-45f7-993f-cb24b463feec',
    selector: 'wake-up',
    icon: 'fe fe-bell',
    active: true,
    description: 'Long description about scene managing light thanks to sunrise',
    name: 'Wake Up when sun is rising',
    tags: [],
    triggers: [
      {
        type: 'device.new-state',
        device_feature: 'main-lamp-binary',
        operator: '=',
        value: 1
      },
      {
        type: 'device.new-state',
        device_feature: 'button-click',
        operator: '=',
        value: 2
      }
    ],
    actions: [
      [
        {
          type: 'delay',
          value: 2,
          unit: 'seconds'
        }
      ],
      [
        {
          type: 'light.turn-on',
          devices: ['light']
        }
      ]
    ]
  },
  'get /api/v1/service/zwave/status': {
    connected: true,
    scanInProgress: false,
    ready: true
  },
  'get /api/v1/service/zwave/node': [
    {
      name: 'ZME_UZB1 USB Stick',
      features: [],
      params: [],
      ready: true,
      rawZwaveNode: {
        id: 1,
        manufacturer: 'Z-Wave.Me',
        manufacturerid: '0x0115',
        product: 'ZME_UZB1 USB Stick',
        producttype: '0x0400',
        productid: '0x0001',
        type: 'Static PC Controller',
        classes: []
      }
    }
  ],
  'get /api/v1/service/zwave/neighbor': [
    {
      id: '1',
      manufacturer: 'Z-Wave.Me',
      product: 'ZME_UZB1 USB Stick',
      neighbors: [2, 3, 4, 5, 6, 7, 8, 10]
    },
    {
      id: '2',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '3',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '4',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '5',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '6',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '7',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '8',
      manufacturer: '',
      product: '',
      neighbors: []
    },
    {
      id: '10',
      manufacturer: 'FIBARO System',
      product: 'FGMS001-ZW5 Motion Sensor',
      neighbors: [1]
    }
  ],
  'get /api/v1/service/usb/port': [
    {
      comPath: '/dev/ttyUSB0',
      comVID: '0658',
      comName: '0200'
    },
    {
      comPath: '/dev/ttyUSB1',
      comVID: '0478',
      comName: '0910'
    }
  ],
  'get /api/v1/area': [
    {
      id: '20b4f1f0-989b-4a94-b0d4-c042137da6b5',
      name: 'My house',
      radius: 1000,
      color: '#3498db',
      latitude: 41.89154462447053,
      longitude: 12.49828345229836
    },
    {
      id: 'f7312c0d-2eac-4e89-9c78-0428e06a39f4',
      name: 'My work',
      radius: 2000,
      color: '#f1c40f',
      latitude: 41.93425385676557,
      longitude: 12.402756238310928
    }
  ],
  'get /api/v1/house': [
    {
      id: '23c40ffe-e1b5-4130-b8df-c56ff92ceee5',
      name: 'My House',
      selector: 'my-house',
      latitude: 41.89154462447053,
      longitude: 12.49828345229836,
      rooms: [
        {
          id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
          name: 'Living Room',
          selector: 'living-room'
        },
        {
          id: 'f99ab22a-e6a8-4756-b1fe-4d19dc8c8620',
          name: 'Kitchen',
          selector: 'kitchen'
        },
        {
          id: '01ad196a-020d-4828-a7b6-41bde8496823',
          name: 'Garden',
          selector: 'garden'
        }
      ]
    }
  ],
  'get /api/v1/service/zwave/device': [
    {
      id: 'fbedb47f-4d25-4381-8923-2633b23192a0',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Fibaro Motion Sensor',
      selector: 'zwave:1234',
      external_id: 'test-sensor-external',
      should_poll: false,
      poll_frequency: null,
      created_at: '2019-02-12T07:49:07.556Z',
      updated_at: '2019-02-12T07:49:07.556Z',
      features: [
        {
          name: 'Temperature',
          selector: 'test-temperature',
          category: 'temperature-sensor',
          type: 'decimal'
        },
        {
          name: 'Motion',
          selector: 'test-motion',
          category: 'motion-sensor',
          type: 'binary'
        },
        {
          name: 'Battery',
          selector: 'test-battery',
          category: 'battery',
          type: 'integer',
          last_value: '92'
        },
        {
          name: 'Lux',
          selector: 'test-light',
          category: 'light-sensor',
          type: 'integer'
        }
      ],
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      }
    }
  ],
  'get /api/v1/service/broadlink': {
    id: 'a810b8db-6d04-4697-bed3-c4b72c996279'
  },
  'get /api/v1/service/broadlink/peripheral': [
    {
      address: '210.248.100.245',
      mac: '4bf75cf0fdbb',
      name: 'MP1',
      device: {
        name: 'MP1',
        external_id: 'broadlink:1cee8bf16731',
        selector: 'broadlink:1cee8bf16731',
        model: 'MP1',
        service_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        created_at: '2019-02-12T07:49:07.556Z',
        should_poll: true,
        poll_frequency: 60000,
        features: [
          {
            name: 'MP1 1',
            category: 'switch',
            type: 'binary',
            external_id: 'broadlink:0',
            selector: 'broadlink:0',
            min: 0,
            max: 1,
            read_only: false,
            has_feedback: true
          },
          {
            name: 'MP1 2',
            category: 'switch',
            type: 'binary',
            external_id: 'broadlink:1',
            selector: 'broadlink:1',
            min: 0,
            max: 1,
            read_only: false,
            has_feedback: true
          },
          {
            name: 'MP1 3',
            category: 'switch',
            type: 'binary',
            external_id: 'broadlink:2',
            selector: 'broadlink:2',
            min: 0,
            max: 1,
            read_only: false,
            has_feedback: true
          },
          {
            name: 'MP1 4',
            category: 'switch',
            type: 'binary',
            external_id: 'broadlink:3',
            selector: 'broadlink:3',
            min: 0,
            max: 1,
            read_only: false,
            has_feedback: true
          }
        ]
      }
    },
    {
      address: '227.154.146.114',
      name: 'SP2',
      mac: '7396e6541fb0',
      canLearn: false,
      device: {
        external_id: 'broadlink:7396e6541fb0',
        selector: 'broadlink:7396e6541fb0',
        model: 'SP2',
        name: 'SP2',
        service_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        should_poll: true,
        poll_frequency: 60000,
        features: [
          {
            name: 'SP2',
            category: 'switch',
            type: 'binary',
            external_id: 'broadlink:0',
            selector: 'broadlink:0',
            min: 0,
            max: 1,
            read_only: false,
            has_feedback: true
          }
        ]
      }
    },
    {
      address: '220.156.58.18',
      name: 'RM3 Pro Plus',
      mac: '1cee8bf16731',
      canLearn: true
    }
  ],
  'get /api/v1/service/broadlink/device': [
    {
      id: 'fbedb47f-4d25-4381-8923-2633b23192a0',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'TV Remote',
      selector: 'broadlink-fbedb47f-4d25-4381-8923-2633b23192a0',
      external_id: 'broadlink:fbedb47f-4d25-4381-8923-2633b23192a0',
      should_poll: false,
      poll_frequency: null,
      model: 'television',
      created_at: '2019-02-12T07:49:07.556Z',
      updated_at: '2019-02-12T07:49:07.556Z',
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      }
    },
    {
      id: '197018ef-5110-4e3d-9022-cecb85fce5cb',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'LED remote',
      selector: 'broadlink-197018ef-5110-4e3d-9022-cecb85fce5cb',
      external_id: 'broadlink:197018ef-5110-4e3d-9022-cecb85fce5cb',
      should_poll: false,
      poll_frequency: null,
      model: 'light',
      created_at: '2019-02-12T07:49:07.556Z',
      updated_at: '2019-02-12T07:49:07.556Z',
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      }
    },
    {
      id: '1e5412c3-a6b7-4c5f-aede-20c40adbd85d',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'SP2',
      selector: 'broadlink-1e5412c3-a6b7-4c5f-aede-20c40adbd85d',
      external_id: 'broadlink:1e5412c3-a6b7-4c5f-aede-20c40adbd85d',
      should_poll: false,
      poll_frequency: null,
      model: 'sp2',
      created_at: '2019-02-12T07:49:07.556Z',
      updated_at: '2019-02-12T07:49:07.556Z',
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      },
      features: [
        {
          name: 'sp2',
          category: 'switch',
          type: 'binary',
          external_id: 'broadlink:0',
          selector: 'broadlink-0',
          min: 0,
          max: 1,
          read_only: false,
          has_feedback: true
        }
      ]
    }
  ],
  'get /api/v1/device/broadlink-197018ef-5110-4e3d-9022-cecb85fce5cb': {
    id: '197018ef-5110-4e3d-9022-cecb85fce5cb',
    service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    name: 'LED remote',
    model: 'light',
    selector: 'broadlink-197018ef-5110-4e3d-9022-cecb85fce5cb',
    external_id: 'broadlink:197018ef-5110-4e3d-9022-cecb85fce5cb',
    should_poll: false,
    poll_frequency: null,
    created_at: '2019-02-12T07:49:07.556Z',
    updated_at: '2019-02-12T07:49:07.556Z',
    features: [
      {
        id: 'db05402f-8795-4942-903e-351716ee04f9',
        name: 'Power ON',
        external_id: 'broadlink:197018ef-5110-4e3d-9022-cecb85fce5cb:binary',
        selector: 'broadlink-197018ef-5110-4e3d-9022-cecb85fce5cb-binary',
        category: 'light',
        type: 'binary'
      }
    ],
    params: [
      {
        name: 'peripheral',
        value: '1cee8bf16731'
      },
      {
        name: 'code_binary-0',
        value: 'POWER_OFF'
      },
      {
        name: 'code_binary-1',
        value: 'POWER_ON'
      }
    ]
  },
  'get /api/v1/device/broadlink-fbedb47f-4d25-4381-8923-2633b23192a0': {
    id: 'fbedb47f-4d25-4381-8923-2633b23192a0',
    service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    name: 'TV Remote',
    model: 'television',
    selector: 'broadlink-fbedb47f-4d25-4381-8923-2633b23192a0',
    external_id: 'broadlink:fbedb47f-4d25-4381-8923-2633b23192a0',
    should_poll: false,
    poll_frequency: null,
    created_at: '2019-02-12T07:49:07.556Z',
    updated_at: '2019-02-12T07:49:07.556Z',
    features: [
      {
        id: '22d37c48-6805-4118-ba1c-fa44052c2d3c',
        name: 'Power',
        external_id: 'broadlink:fbedb47f-4d25-4381-8923-2633b23192a0:binary',
        selector: 'broadlink-fbedb47f-4d25-4381-8923-2633b23192a0-binary',
        category: 'television',
        type: 'binary'
      },
      {
        id: '1667855b-a58d-4a8c-9ac6-c40c2a544db8',
        name: 'Source',
        external_id: 'broadlink:fbedb47f-4d25-4381-8923-2633b23192a0:source',
        selector: 'broadlink-fbedb47f-4d25-4381-8923-2633b23192a0-source',
        category: 'television',
        type: 'source'
      },
      {
        id: '8d8a9fb1-dbd0-4f31-bbc7-8ffebf1e9f93',
        name: 'Channel',
        external_id: 'broadlink:fbedb47f-4d25-4381-8923-2633b23192a0:channel',
        selector: 'broadlink-fbedb47f-4d25-4381-8923-2633b23192a0-channel',
        category: 'television',
        type: 'channel'
      }
    ],
    params: [
      {
        name: 'code_binary-1',
        value: 'POWER'
      },
      {
        name: 'code_source',
        value: 'SOURCE'
      },
      {
        name: 'code_channel-0',
        value: 'CHANNEL_0'
      },
      {
        name: 'code_channel-1',
        value: 'CHANNEL_1'
      },
      {
        name: 'code_channel-2',
        value: 'CHANNEL_2'
      },
      {
        name: 'code_channel-3',
        value: 'CHANNEL_3'
      },
      {
        name: 'code_channel-4',
        value: 'CHANNEL_4'
      },
      {
        name: 'code_channel-5',
        value: 'CHANNEL_5'
      },
      {
        name: 'code_channel-6',
        value: 'CHANNEL_6'
      }
    ],
    room: {
      id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Living Room',
      selector: 'living-room'
    }
  },
  'post /api/v1/service/broadlink/learn': {},
  'post /api/v1/service/broadlink/learn/cancel': {},
  'get /api/v1/service/mqtt': {},
  'get /api/v1/service/mqtt/status': {
    configured: true,
    connected: true
  },
  'get /api/v1/service/mqtt/config': {
    useEmbeddedBroker: true,
    dockerBased: true,
    networkModeValid: true,
    brokerContainerAvailable: false
  },
  'get /api/v1/service/zigbee2mqtt': {},
  'get /api/v1/service/zigbee2mqtt/permit_join': true,
  'get /api/v1/service/zigbee2mqtt/device': [
    {
      name: 'Aqara Sensor',
      external_id: 'zigbee2mqtt:0x00158d0005828ece',
      selector: 'zigbee2mqtt-0x00158d0005828ece',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      model: 'WSDCGQ11LM',
      params: [
        {
          name: 'model',
          value: 'WSDCGQ11LM'
        }
      ],
      features: [
        {
          category: 'pressure-sensor',
          external_id: 'zigbee2mqtt:0x00158d0005828ece:pressure-sensor:decimal:pressure',
          name: 'Pressure Sensor',
          read_only: true,
          selector: 'zigbee2mqtt:0x00158d0005828ece:pressure-sensor:decimal:pressure',
          type: 'decimal'
        }
      ]
    }
  ],
  'get /api/v1/service/zigbee2mqtt/discovered': [
    {
      name: 'Aqara Sensor',
      external_id: 'zigbee2mqtt:0x00158d0005828ece',
      selector: 'zigbee2mqtt-0x00158d0005828ece',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      model: 'WSDCGQ11LM',
      updatable: true,
      created_at: '2019-02-12T07:49:07.556Z',
      params: [
        {
          name: 'model',
          value: 'WSDCGQ11LM'
        }
      ],
      features: [
        {
          category: 'pressure-sensor',
          external_id: 'zigbee2mqtt:0x00158d0005828ece:pressure-sensor:decimal:pressure',
          name: 'Pressure Sensor',
          read_only: true,
          selector: 'zigbee2mqtt:0x00158d0005828ece:pressure-sensor:decimal:pressure',
          type: 'decimal'
        }
      ]
    },
    {
      model: 'WXKG01LM',
      name: '0x00158d00033e88d5',
      service_id: 'f87b7af2-ca8e-44fc-b754-444354b42fee',
      should_poll: false,
      external_id: 'zigbee2mqtt:0x00158d00033e88d5',
      features: [
        {
          category: 'battery',
          external_id: 'zigbee2mqtt:0x00158d00033e88d5:battery:integer:battery',
          has_feedback: false,
          max: 100,
          min: 0,
          name: 'Battery',
          read_only: true,
          selector: 'zigbee2mqtt-0x00158d00033e88d5-battery-integer-battery',
          type: 'integer',
          unit: 'percent'
        },
        {
          category: 'button',
          external_id: 'zigbee2mqtt:0x00158d00033e88d5:button:click:action',
          has_feedback: false,
          max: 7,
          min: 0,
          name: 'Action',
          read_only: true,
          selector: 'zigbee2mqtt-0x00158d00033e88d5-button-click-action',
          type: 'click',
          unit: null
        },
        {
          category: 'switch',
          external_id: 'zigbee2mqtt:0x00158d00033e88d5:switch:voltage:voltage',
          has_feedback: false,
          max: 10000,
          min: 0,
          name: 'Voltage',
          read_only: true,
          selector: 'zigbee2mqtt-0x00158d00033e88d5-switch-voltage-voltage',
          type: 'voltage',
          unit: 'millivolt'
        }
      ]
    },
    {
      name: 'Unsupported device',
      external_id: 'zigbee2mqtt:0x00158d0005828ece',
      selector: 'zigbee2mqtt-0x00158d0005828ece',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      features: [
        {
          category: 'battery',
          name: 'Pressure Sensor',
          read_only: true,
          type: 'decimal'
        }
      ]
    }
  ],
  'get /api/v1/service/zigbee2mqtt/setup': {
    ZIGBEE2MQTT_DRIVER_PATH: '/dev/ttyUSB0',
    ZIGBEE_DONGLE_NAME: 'Electrolama zig-a-zig-ah! (zzh!)',
    Z2M_TCP_PORT: '59801'
  },
  'post /api/v1/service/zigbee2mqtt/setup': {
    ZIGBEE2MQTT_DRIVER_PATH: '/dev/ttyUSB1',
    ZIGBEE_DONGLE_NAME: 'RaspBee',
    Z2M_TCP_PORT: '12000'
  },
  'get /api/v1/service/zigbee2mqtt/adapter': [
    'ConBee',
    'ConBee II',
    'RaspBee',
    'RaspBee II',
    'SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P',
    "Slaesh's CC2652RB stick",
    'SMLIGHT CC2652P Zigbee USB Adapter SLZB-02',
    'SMLIGHT SLZB-06 Zigbee ethernet USB POE WiFi LAN adapter',
    'SMLIGHT Zigbee LAN Adapter CC2652P Model SLZB-05',
    'Vision CC2538+CC2592 Dongle(VS203)',
    'Vision CC2652 dongle',
    'XGG Gateway',
    'XGG 52PZ2MGateway',
    'ZigStar LAN Coordinator',
    'ZigStar PoE Coordinator',
    'ZigStar Stick v4',
    'ZigStar ZigiHAT PoE'
  ],
  'get /api/v1/service/zigbee2mqtt/status': {
    usbConfigured: true,
    mqttExist: true,
    mqttRunning: true,
    zigbee2mqttExist: true,
    zigbee2mqttRunning: true,
    gladysConnected: true,
    zigbee2mqttConnected: true,
    z2mEnabled: true,
    dockerBased: true,
    networkModeValid: true
  },
  'get /api/v1/service/tasmota': {},
  'get /api/v1/service/tasmota/device': [
    {
      name: 'Switch',
      external_id: 'tasmota:sonoff-basic',
      selector: 'tasmota-sonoff-basic',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      model: 'sonoff-basic',
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ]
    },
    {
      name: 'Switch',
      external_id: 'tasmota:192.168.1.1',
      selector: 'tasmota-192-168-1-1',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443e',
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ],
      params: [
        {
          name: 'protocol',
          value: 'http'
        }
      ]
    }
  ],
  'get /api/v1/device/tasmota-sonoff-basic': {
    name: 'Switch',
    external_id: 'tasmota:sonoff-basic',
    selector: 'sonoff-basic',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    model: 'sonoff-basic',
    features: [
      {
        category: 'switch',
        type: 'binary',
        name: 'Switch'
      }
    ]
  },
  'get /api/v1/device/zigbee2mqtt-0x00158d0005828ece': {
    name: 'Aqara Sensor',
    external_id: 'zigbee2mqtt-0x00158d0005828ece',
    selector: 'zigbee2mqtt-0x00158d0005828ece',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    model: 'zigbee2mqtt-0x00158d0005828ece',
    features: [
      {
        category: 'switch',
        type: 'binary',
        name: 'Switch'
      }
    ]
  },
  'get /api/v1/device/tasmota-192-168-1-1': {
    name: 'Switch',
    external_id: 'tasmota:sonoff-basic',
    selector: 'sonoff-basic',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    model: 'sonoff-basic',
    features: [
      {
        category: 'switch',
        type: 'binary',
        name: 'Switch'
      }
    ]
  },
  'get /api/v1/service/tasmota/discover/mqtt': [
    {
      name: 'Sonoff Basic Kitchen',
      external_id: 'tasmota:sonoff-basic',
      created_at: '2019-02-12T07:49:07.556Z',
      model: 'sonoff-basic',
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ]
    },
    {
      name: 'Sonoff Pow Kitchen',
      external_id: 'tasmota:sonoff-pow',
      model: 'sonoff-pow',
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ]
    },
    {
      name: 'Sonoff Mini Outside',
      external_id: 'tasmota:sonoff-mini',
      model: 'sonoff-basic',
      created_at: '2019-02-12T07:49:07.556Z',
      updatable: true,
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ]
    }
  ],
  'get /api/v1/service/tasmota/discover/http': [
    {
      name: 'Sonoff Basic Kitchen',
      external_id: 'tasmota:192.168.1.1',
      created_at: '2019-02-12T07:49:07.556Z',
      model: 'sonoff-basic',
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ],
      params: [
        {
          name: 'protocol',
          value: 'http'
        }
      ]
    },
    {
      name: 'Sonoff Pow Kitchen',
      external_id: 'tasmota:192.168.1.2',
      model: 'sonoff-pow',
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ],
      params: [
        {
          name: 'protocol',
          value: 'http'
        }
      ]
    },
    {
      name: 'Sonoff Mini Outside',
      external_id: 'tasmota:192.168.1.3',
      model: 'sonoff-basic',
      created_at: '2019-02-12T07:49:07.556Z',
      updatable: true,
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ],
      params: [
        {
          name: 'protocol',
          value: 'http'
        }
      ]
    },
    {
      name: '192.168.1.3',
      external_id: 'tasmota:192.168.1.3',
      created_at: '2019-02-12T07:49:07.556Z',
      needAuthentication: true,
      features: [
        {
          category: 'switch',
          type: 'binary'
        }
      ],
      params: [
        {
          name: 'protocol',
          value: 'http'
        }
      ]
    }
  ],
  'get /api/v1/service/rtsp-camera/device': [
    {
      id: 'c2204fdc-c22f-4fc9-b7d7-c862f3c514c7',
      name: 'Kitchen Camera',
      params: [
        {
          name: 'CAMERA_URL',
          value: 'http://camera-url'
        },
        {
          name: 'CAMERA_ROTATION',
          value: '0'
        }
      ]
    }
  ],
  'get /api/v1/service/rtsp-camera': {
    id: 'aa7d6284-6b80-4e78-9e08-a4122207edcd'
  },
  'post /api/v1/service/rtsp-camera/camera/test':
    '',
  'get /api/v1/gateway/status': {
    configured: true,
    connected: true
  },
  'get /api/v1/gateway/backup': [
    {
      id: '99fac564-0844-44f6-866b-2b8dcf0d76eb',
      path: 'https://url-backup',
      size: 2024000100,
      created_at: dayjs().subtract(1, 'day'),
      updated_at: dayjs().subtract(1, 'day'),
      is_deleted: false
    },
    {
      id: '99fac564-0844-44f6-866b-2b8dcf0d76eb',
      path: 'https://url-backup',
      size: 1127680,
      created_at: dayjs().subtract(2, 'day'),
      updated_at: dayjs().subtract(2, 'day'),
      is_deleted: false
    },
    {
      id: '210460b2-c9a8-4891-9cca-464c3e19bfbb',
      path: 'https://url-backup',
      size: 1013680,
      created_at: dayjs().subtract(3, 'day'),
      updated_at: dayjs().subtract(3, 'day'),
      is_deleted: false
    }
  ],
  'get /api/v1/variable/GLADYS_GATEWAY_BACKUP_KEY': {
    value: 'ad793dc660683701703409f97fd1d2f9j86610467839e12a0107c0409ec7240bb'
  },
  'get /api/v1/gateway/instance/key': {
    rsa_fingerprint: '33:ab:6d:4c:2d:5e:43:26:2c:48:25:63:54:c9:2f:e1:76:97:60:ea:9b:fa:63:f4:03:78:99:09:27:1b:d8:14',
    ecdsa_fingerprint: '42:b0:74:47:b5:60:14:a0:37:94:db:83:2d:de:a4:51:58:ad:6f:c9:6e:6f:0b:54:82:d1:f3:bf:cf:99:6c:3f'
  },
  'get /api/v1/gateway/key': [
    {
      id: 'b2594fc0-9812-477c-ba8f-6059a91d6932',
      name: 'Pepper Pots',
      rsa_public_key: 'fa:f9:5b:80:69:8d:c3:d7:4b:cc:33:7b:5d:ba:98:9b:17:22:76:f8:f3:79:db:6b:b8:53:37:ec:2a:cf:18:fd',
      ecdsa_public_key:
        'cf:df:75:79:a0:93:74:f4:e2:d7:b8:74:ab:67:7b:80:6e:57:1d:ef:bc:38:5d:70:8b:cf:dd:ba:88:c8:d6:f4',
      gladys_4_user_id: null,
      connected: true,
      accepted: true
    },
    {
      id: 'adf4f481-1b19-4796-bab3-fbabfc4775d5',
      name: 'Tony Stark',
      rsa_public_key: '51:89:e6:91:4f:da:f8:d6:b6:f6:1e:15:54:c4:c0:fd:cc:69:70:81:d4:a8:ea:26:8b:02:4b:b9:ff:97:64:1a',
      ecdsa_public_key:
        '2e:e9:ee:a0:b3:22:46:62:f8:22:9b:52:9d:f4:3f:65:70:62:59:76:d1:85:ad:3b:9f:65:4e:61:4c:26:89:7e',
      gladys_4_user_id: null,
      connected: true,
      accepted: true
    }
  ],
  'get /api/v1/ping': {},
  'get /api/v1/system/info': {
    hostname: 'Raspberry Pi 4',
    type: 'Linux',
    platform: 'linux',
    arch: 'x64',
    release: '18.5.0',
    uptime: 662555,
    loadavg: [1.908203125, 3.01513671875, 3.64013671875],
    totalmem: 17179869184,
    freemem: 492482560,
    cpus: [
      {
        model: 'Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz',
        speed: 3300,
        times: {
          user: 34606730,
          nice: 0,
          sys: 24855850,
          idle: 100527470,
          irq: 0
        }
      },
      {
        model: 'Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz',
        speed: 3300,
        times: {
          user: 22568450,
          nice: 0,
          sys: 10605290,
          idle: 126800520,
          irq: 0
        }
      },
      {
        model: 'Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz',
        speed: 3300,
        times: {
          user: 34765800,
          nice: 0,
          sys: 20890230,
          idle: 104318270,
          irq: 0
        }
      },
      {
        model: 'Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz',
        speed: 3300,
        times: {
          user: 18691910,
          nice: 0,
          sys: 8683980,
          idle: 132598350,
          irq: 0
        }
      }
    ],
    network_interfaces: {},
    nodejs_version: 'v10.15.2',
    gladys_version: 'v4.0.0',
    is_docker: false,
    new_release_available: false
  },
  'get /api/v1/system/disk': {
    filesystem: '/dev/disk1s1',
    size: 499313172480,
    used: 464613756928,
    available: 28587036672,
    capacity: 0.953000005,
    mountpoint: '/'
  },
  'get /api/v1/system/container': [
    {
      name: '/gladys',
      state: 'running',
      id: '9e5f09775f897624deb1eb2ec8688c1b300d81bc3727fc71ae3290d3d8f71fa9',
      created_at: 1561506899
    }
  ],
  'get /api/v1/service': [
    {
      id: '27c96cfe-98ce-437b-a83f-5b13e0605203',
      pod_id: null,
      name: 'example',
      selector: 'example',
      version: '0.1.0',
      has_message_feature: false,
      status: 'LOADING',
      created_at: '2020-04-11T18:41:40.051Z',
      updated_at: '2020-10-18T10:13:22.365Z'
    },
    {
      id: '40262062-2e71-412c-8da0-70bd03f03b90',
      pod_id: null,
      name: 'philips-hue',
      selector: 'philips-hue',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.052Z',
      updated_at: '2020-10-30T07:44:07.731Z'
    },
    {
      id: '4cd73c14-a929-4af0-a5e2-baed35802224',
      pod_id: null,
      name: 'rtsp-camera',
      selector: 'rtsp-camera',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.053Z',
      updated_at: '2020-10-30T07:44:07.694Z'
    },
    {
      id: '0c27de72-ced7-4f7f-8950-473b9e904e71',
      pod_id: null,
      name: 'telegram',
      selector: 'telegram',
      version: '0.1.0',
      has_message_feature: true,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.053Z',
      updated_at: '2020-10-30T07:44:07.518Z'
    },
    {
      id: '09a3e250-940a-4f52-8595-e6268ffd7198',
      pod_id: null,
      name: 'usb',
      selector: 'usb',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.053Z',
      updated_at: '2020-10-30T07:44:07.660Z'
    },
    {
      id: '366fd9d7-bfbf-4c13-bd8c-4cc777799142',
      pod_id: null,
      name: 'xiaomi',
      selector: 'xiaomi',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.055Z',
      updated_at: '2020-10-30T07:44:07.474Z'
    },
    {
      id: '3772bbf5-b1d7-441f-9bd4-ef94920e31cd',
      pod_id: null,
      name: 'zwave',
      selector: 'zwave',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.056Z',
      updated_at: '2020-10-30T07:44:07.594Z'
    },
    {
      id: '7355bc7f-4109-40ba-819f-fb03f91969b0',
      pod_id: null,
      name: 'tasmota',
      selector: 'tasmota',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-11T18:41:40.056Z',
      updated_at: '2020-10-30T07:44:07.627Z'
    },
    {
      id: '2e0bc58b-11e2-4176-8ad3-9ebc8cdd2318',
      pod_id: null,
      name: 'mqtt',
      selector: 'mqtt',
      version: '0.1.0',
      has_message_feature: false,
      status: 'ERROR',
      created_at: '2020-04-11T18:41:40.057Z',
      updated_at: '2020-10-30T07:44:07.785Z'
    },
    {
      id: 'd97ba3fa-872f-4ecc-879f-46c55a2930c6',
      pod_id: null,
      name: 'google-actions',
      selector: 'google-actions',
      version: '0.1.0',
      has_message_feature: false,
      status: 'UNKNOWN',
      created_at: '2020-04-11T18:41:40.111Z',
      updated_at: '2020-04-11T18:41:40.111Z'
    },
    {
      id: '6d3c7a63-e4b8-4650-bcd3-50cf42b2996f',
      pod_id: null,
      name: 'caldav',
      selector: 'caldav',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-04-16T19:38:21.885Z',
      updated_at: '2020-10-30T07:44:07.558Z'
    },
    {
      id: '39a278e9-66da-47cb-bdaa-264ba6418091',
      pod_id: null,
      name: 'openweather',
      selector: 'openweather',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-08-19T13:04:57.309Z',
      updated_at: '2020-10-30T07:44:07.814Z'
    },
    {
      id: '9682e167-e07f-4823-bd31-a60f957842e0',
      pod_id: null,
      name: 'broadlink',
      selector: 'broadlink',
      version: '0.1.0',
      has_message_feature: false,
      status: 'UNKNOWN',
      created_at: '2020-08-30T15:55:19.467Z',
      updated_at: '2020-08-30T15:55:19.467Z'
    },
    {
      id: 'd6ea610f-1e33-4c08-89a3-1c8be2cc45f9',
      pod_id: null,
      name: 'bluetooth',
      selector: 'bluetooth',
      version: '0.1.0',
      has_message_feature: false,
      status: 'LOADING',
      created_at: '2020-09-02T12:35:32.763Z',
      updated_at: '2020-10-18T09:28:14.935Z'
    },
    {
      id: 'c9fe2705-35dc-417b-b6fc-c4bbb9c69886',
      pod_id: null,
      name: 'tp-link',
      selector: 'tp-link',
      version: '0.1.0',
      has_message_feature: false,
      status: 'RUNNING',
      created_at: '2020-11-11T18:41:40.052Z',
      updated_at: '2020-11-28T07:44:07.731Z'
    },
    {
      id: 'd1af258c-2016-4dc9-b0cc-d2e92dd2fcec',
      pod_id: null,
      name: 'lan-manager',
      selector: 'lan-manager',
      version: '0.1.0',
      has_message_feature: false,
      status: 'UNKNOWN',
      created_at: '2023-01-05T08:27:19.567Z',
      updated_at: '2023-01-05T08:27:19.567Z'
    }
  ],
  'get /api/v1/session': [
    {
      id: '4b249694-661b-4c48-afb5-924bbedcee63',
      token_type: 'refresh_token',
      scope: ['dashboard:write', 'dashboard:read'],
      valid_until: '2019-07-26T01:00:50.137Z',
      last_seen: null,
      revoked: false,
      useragent:
        'Mozilla/5.0 (Linux; Android 6.0.1; SHIELD Tablet K1 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Safari/537.36',
      created_at: '2019-06-26T01:00:50.138Z',
      updated_at: '2019-06-26T01:00:50.138Z'
    },
    {
      id: '2367a8cf-47a8-4db7-83b0-f89c2c6c34ac',
      token_type: 'refresh_token',
      scope: ['dashboard:write', 'dashboard:read'],
      valid_until: '2019-07-26T00:29:00.783Z',
      last_seen: null,
      revoked: false,
      useragent:
        'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
      created_at: '2019-06-26T00:29:00.783Z',
      updated_at: '2019-06-26T00:29:00.783Z'
    },
    {
      id: '2367a8cf-47a8-4db7-83b0-f89c2c6c34ac',
      token_type: 'refresh_token',
      scope: ['dashboard:write', 'dashboard:read'],
      valid_until: '2019-07-26T00:29:00.783Z',
      last_seen: null,
      revoked: false,
      useragent:
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246',
      created_at: '2019-06-26T00:29:00.783Z',
      updated_at: '2019-06-26T00:29:00.783Z'
    },
    {
      id: '2367a8cf-47a8-4db7-83b0-f89c2c6c34ac',
      token_type: 'refresh_token',
      scope: ['dashboard:write', 'dashboard:read'],
      valid_until: '2019-07-26T00:29:00.783Z',
      last_seen: null,
      revoked: false,
      created_at: '2019-06-26T00:29:00.783Z',
      updated_at: '2019-06-26T00:29:00.783Z'
    }
  ],
  'get /api/v1/setup': {
    account_configured: true
  },
  'get /api/v1/service/lan-manager/device': [
    {
      id: '6dbd067a-efdd-428e-8c1b-cb792255eae2',
      service_id: 'd1af258c-2016-4dc9-b0cc-d2e92dd2fcec',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Media server',
      selector: 'lan-00B0D063C226',
      external_id: 'lan-00B0D063C226',
      should_poll: false,
      poll_frequency: null,
      created_at: '2023-01-05T08:28:09.567Z',
      updated_at: '2023-01-05T08:28:09.567Z',
      features: [
        {
          name: 'Presence',
          selector: 'lan-presence-sensor',
          category: 'presence-sensor',
          type: 'push',
          unit: null,
          min: 0,
          max: 1,
          read_only: true,
          last_value: 0,
          last_value_changed: dayjs().add(60, 'second')
        }
      ],
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      },
      params: [
        {
          name: 'DEVICE_MAC',
          value: '00:B0:D0:63:C2:26'
        },
        {
          name: 'DEVICE_NAME',
          value: 'media.lan'
        },
        {
          name: 'MANUFACTURER',
          value: 'Bob and co.'
        }
      ]
    }
  ],
  'get /api/v1/service/lan-manager/status': {
    scanning: false
  },
  'get /api/v1/service/lan-manager/config': {
    presenceScanner: {
      frequency: 120000,
      status: 'enabled'
    },
    ipMasks: [
      {
        mask: '192.168.1.1/24',
        name: 'eth0',
        networkInterface: true,
        enabled: false
      },
      {
        mask: '192.168.0.1/10',
        name: 'Custom',
        enabled: true
      }
    ]
  },
  'get /api/v1/service/lan-manager/discover': [
    {
      id: '6dbd067a-efdd-428e-8c1b-cb792255eae2',
      ip: '192.168.1.22',
      service_id: 'd1af258c-2016-4dc9-b0cc-d2e92dd2fcec',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Media server',
      selector: 'lan-00B0D063C226',
      external_id: 'lan-00B0D063C226',
      should_poll: false,
      poll_frequency: null,
      created_at: '2023-01-05T08:28:09.567Z',
      updated_at: '2023-01-05T08:28:09.567Z',
      features: [
        {
          name: 'Presence',
          selector: 'lan-presence-sensor',
          category: 'presence-sensor',
          type: 'push',
          unit: null,
          min: 0,
          max: 1,
          read_only: true,
          last_value: 0,
          last_value_changed: dayjs().add(60, 'second')
        }
      ],
      params: [
        {
          name: 'DEVICE_MAC',
          value: '00:B0:D0:63:C2:26'
        },
        {
          name: 'DEVICE_NAME',
          value: 'media.lan'
        },
        {
          name: 'MANUFACTURER',
          value: 'Bob and co.'
        }
      ]
    },
    {
      service_id: 'd1af258c-2016-4dc9-b0cc-d2e92dd2fcec',
      name: 'New device',
      ip: '192.168.1.10',
      can_save: true,
      selector: 'lan-12B0D063C226',
      external_id: 'lan-12B0D063C226',
      should_poll: false,
      poll_frequency: null,
      features: [
        {
          name: 'Presence',
          selector: 'lan-presence-sensor',
          category: 'presence-sensor',
          type: 'push',
          unit: null,
          min: 0,
          max: 1,
          read_only: true,
          last_value: 0,
          last_value_changed: dayjs().add(60, 'second')
        }
      ],
      params: [
        {
          name: 'DEVICE_MAC',
          value: '12:B0:D0:63:C2:26'
        },
        {
          name: 'DEVICE_NAME',
          value: 'device.lan'
        }
      ]
    },
    {
      service_id: 'd1af258c-2016-4dc9-b0cc-d2e92dd2fcec',
      name: 'Random MAC device',
      ip: '192.168.1.100',
      can_save: false,
      selector: 'lan-A2B0D063C226',
      external_id: 'lan-A2B0D063C226',
      should_poll: false,
      poll_frequency: null,
      features: [
        {
          name: 'Presence',
          selector: 'lan-presence-sensor',
          category: 'presence-sensor',
          type: 'push',
          unit: null,
          min: 0,
          max: 1,
          read_only: true,
          last_value: 0,
          last_value_changed: dayjs().add(60, 'second')
        }
      ],
      params: [
        {
          name: 'DEVICE_MAC',
          value: 'A2:B0:D0:63:C2:26'
        },
        {
          name: 'DEVICE_NAME',
          value: 'random.lan'
        }
      ]
    }
  ],
  'get /api/v1/service/xiaomi/sensor': [
    {
      name: 'Xiaomi Temperature',
      external_id: 'xiaomi:1234',
      selector: 'xiaomi:1234',
      features: [
        {
          name: 'Temperature',
          selector: 'xiaomi:12344:temperature',
          external_id: 'xiaomi:12344:temperature',
          category: 'temperature-sensor',
          type: 'decimal',
          unit: 'celsius',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: -20,
          max: 60
        },
        {
          name: 'Humidity',
          selector: 'xiaomi:12344:humidity',
          external_id: 'xiaomi:12344:humidity',
          category: 'humidity-sensor',
          type: 'decimal',
          unit: 'percent',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: 0,
          max: 100
        },
        {
          name: 'Battery',
          selector: 'xiaomi:12344:battery',
          external_id: 'xiaomi:12344:battery',
          category: 'battery',
          type: 'integer',
          unit: 'percent',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: 0,
          max: 100
        }
      ]
    }
  ],
  'get /api/v1/service/xiaomi/device': [
    {
      id: 'e5317b24-28e1-4839-9879-0bb7a3102e98',
      name: 'Xiaomi Temperature',
      external_id: 'xiaomi:1234',
      selector: 'xiaomi:1234',
      room_id: 'f99ab22a-e6a8-4756-b1fe-4d19dc8c8620',
      service_id: '70cb1e17-3b17-4886-83ab-45b00a9e03b1',
      features: [
        {
          name: 'Temperature',
          selector: 'xiaomi:12344:temperature',
          external_id: 'xiaomi:12344:temperature',
          category: 'temperature-sensor',
          type: 'decimal',
          unit: 'celsius',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: -20,
          max: 60
        },
        {
          name: 'Humidity',
          selector: 'xiaomi:12344:humidity',
          external_id: 'xiaomi:12344:humidity',
          category: 'humidity-sensor',
          type: 'decimal',
          unit: 'percent',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: 0,
          max: 100
        },
        {
          name: 'Battery',
          selector: 'xiaomi:12344:battery',
          external_id: 'xiaomi:12344:battery',
          category: 'battery',
          type: 'integer',
          unit: 'percent',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: 0,
          max: 100
        }
      ]
    }
  ],
  'get /api/v1/device?device_feature_selectors=aqi-city': [
    {
      id: 'ed62adc6-b1b6-4a2b-b6d1-8e676d470e10',
      name: 'Air Quality Index',
      selector: 'aq-sensors',
      features: [
        {
          name: 'Air Quality Index',
          selector: 'aqi-city',
          category: 'airquality-sensor',
          type: 'aqi',
          min: 0,
          max: 1000,
          read_only: true,
          unit: 'aqi',
          last_value: 101,
          last_value_changed: '2023-01-23 08:50:06.556 +00:00'
        }
      ]
    }
  ],
  'get /api/v1/device?device_feature_selectors=main-tv-binary,main-tv-volume,main-tv-channel,main-presence-sensor,main-signal-sensor,air-conditioning,button-click': [
    {
      id: '20deebe6-57df-4940-afd1-11c189a407c2',
      name: 'TV',
      selector: 'main-tv',
      features: [
        {
          name: 'TV power',
          selector: 'main-tv-binary',
          category: 'television',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Volume',
          selector: 'main-tv-volume',
          category: 'television',
          type: 'volume',
          min: 0,
          max: 20,
          read_only: false,
          last_value: 7,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Channel',
          selector: 'main-tv-channel',
          category: 'television',
          type: 'channel',
          min: 0,
          max: 99,
          read_only: false,
          last_value: 22,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'Presence',
          selector: 'main-presence-sensor',
          category: 'presence-sensor',
          type: 'push',
          unit: null,
          min: 0,
          max: 1,
          read_only: true,
          last_value: 0,
          last_value_changed: dayjs().add(60, 'second')
        },
        {
          name: 'Signal quality',
          selector: 'main-signal-sensor',
          category: 'signal',
          type: 'integer',
          unit: null,
          min: 0,
          max: 5,
          read_only: true,
          last_value: 4,
          last_value_changed: dayjs().add(60, 'second')
        },
        {
          name: 'Button',
          selector: 'button-click',
          category: 'button',
          type: 'click',
          min: 0,
          max: 6,
          read_only: true,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'e9cc8a96-56b8-41b6-ba99-4c200272abf6',
      name: 'Main sensors',
      selector: 'main-sensors',
      features: [
        {
          name: 'CO',
          selector: 'co-living-room',
          category: 'co-sensor',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: true,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
      name: 'Main Lamp',
      selector: 'main-lamp',
      features: [
        {
          name: 'First lamp',
          selector: 'main-lamp-binary',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'Second lamp ',
          selector: 'secondary-lamp-binary',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Lamp color',
          selector: 'tv-lamp-color',
          category: 'light',
          type: 'color',
          min: 0,
          max: 16777215,
          read_only: false,
          last_value: 65000,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Lamp brightness',
          selector: 'tv-lamp-brightness',
          category: 'light',
          type: 'brightness',
          min: 0,
          max: 100,
          read_only: false,
          last_value: 55,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
      name: 'TV Lamp',
      selector: 'tv-lamp',
      features: [
        {
          name: 'TV Lamp feature',
          selector: 'tv-lamp-binary',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'adefb484-223e-478a-8330-8fb1b3a20920',
      selector: 'temperature-living-room',
      features: [
        {
          name: 'Temperature',
          selector: 'temperature-living-room-celsius',
          category: 'temperature-sensor',
          type: 'decimal',
          unit: 'celsius',
          min: -200,
          max: 200,
          read_only: true,
          last_value: 27,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: '81d637d2-b7f5-4cc3-a39e-2270fd069ee2',
      selector: 'mqtt-living-room',
      name: 'MQTT device',
      service: {
        name: 'mqtt'
      },
      features: [
        {
          name: 'Temperature',
          selector: 'mqtt-living-room-temp',
          category: 'temperature-sensor',
          type: 'decimal',
          unit: 'celsius',
          min: -200,
          max: 200,
          read_only: true,
          last_value: 27,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'db3e81b6-00d4-4f9b-8aa6-0e50e719a729',
      name: 'AC Conditioning',
      selector: 'air-conditioning',
      features: [
        {
          name: 'AC Conditioning',
          selector: 'air-conditioning',
          category: 'air-conditioning',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00'
        },
        {
          name: 'AC Conditioning',
          selector: 'air-conditioning',
          category: 'air-conditioning',
          type: 'mode',
          min: 0,
          max: 2,
          read_only: false,
          last_value: 1,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00'
        },
        {
          name: 'AC Conditioning',
          selector: 'air-conditioning',
          category: 'air-conditioning',
          type: 'target-temperature',
          min: 0,
          max: 30,
          read_only: false,
          last_value: 24,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00',
          unit: 'celsius'
        }
      ]
    }
  ],
  'get /api/v1/device?device_feature_selectors=curtain-actions,shutter-actions,shutter-position,thermostat,water-leak,smoke-sensor,light-sensor': [
    {
      id: 'f131fbf2-445a-4c2c-9426-83abaf534662',
      name: 'Room sensors',
      selector: 'room-sensors',
      features: [
        {
          name: 'Water Leak',
          selector: 'water-leak',
          category: 'leak-sensor',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: true,
          last_value: 1,
          last_value_changed: '2023-01-23 08:50:06.556 +00:00'
        },
        {
          name: 'Smoke sensor',
          selector: 'smoke-sensor',
          category: 'smoke-sensor',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: true,
          last_value: 1,
          last_value_changed: '2023-01-23 08:50:06.556 +00:00'
        },
        {
          name: 'Light sensor',
          selector: 'light-sensor',
          category: 'light-sensor',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: true,
          last_value: 1,
          last_value_changed: '2023-01-23 08:50:06.556 +00:00'
        }
      ]
    },
    {
      id: 'cb3b1a30-d1b6-4624-ac18-e581e3e3b00f',
      name: 'Main curtain',
      selector: 'main-curtain',
      features: [
        {
          name: 'Curtain',
          selector: 'curtain-actions',
          category: 'curtain',
          type: 'state',
          min: -1,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'Curtain',
          selector: 'curtain-position',
          category: 'curtain',
          type: 'position',
          min: 0,
          max: 100,
          read_only: true,
          last_value: 30,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: '919be7a4-df47-4726-b1c0-7412aed99769',
      name: 'Main shutter',
      selector: 'main-shutter',
      features: [
        {
          name: 'Shutter',
          selector: 'shutter-actions',
          category: 'shutter',
          type: 'state',
          min: -1,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'Shutter position',
          selector: 'shutter-position',
          category: 'shutter',
          type: 'position',
          min: 0,
          max: 100,
          read_only: true,
          last_value: 30,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00',
          unit: 'percent'
        }
      ]
    },
    {
      id: 'db3e81b4-00d4-4f9b-8aa6-0e50e719a729',
      name: 'Thermostat',
      selector: 'thermostat',
      features: [
        {
          name: 'Thermostat',
          selector: 'thermostat',
          category: 'thermostat',
          type: 'target-temperature',
          min: 0,
          max: 30,
          read_only: false,
          last_value: 19.5,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00',
          unit: 'celsius'
        }
      ]
    }
  ],
  'get /api/v1/device?device_feature_selectors=main-lamp-binary,tv-lamp-binary,tv-lamp-color,tv-lamp-brightness,mqtt-living-room-switch,mqtt-living-room-dimmer,mqtt-living-room-temp,co-living-room': [
    {
      id: '20deebe6-57df-4940-afd1-11c189a407c2',
      name: 'TV',
      selector: 'main-tv',
      features: [
        {
          name: 'TV power',
          selector: 'main-tv-binary',
          category: 'television',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Volume',
          selector: 'main-tv-volume',
          category: 'television',
          type: 'volume',
          min: 0,
          max: 20,
          read_only: false,
          last_value: 7,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Channel',
          selector: 'main-tv-channel',
          category: 'television',
          type: 'channel',
          min: 0,
          max: 99,
          read_only: false,
          last_value: 22,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'Presence',
          selector: 'main-presence-sensor',
          category: 'presence-sensor',
          type: 'push',
          unit: null,
          min: 0,
          max: 1,
          read_only: true,
          last_value: 0,
          last_value_changed: dayjs().add(60, 'second')
        },
        {
          name: 'Signal quality',
          selector: 'main-signal-sensor',
          category: 'signal',
          type: 'integer',
          unit: null,
          min: 0,
          max: 5,
          read_only: true,
          last_value: 4,
          last_value_changed: dayjs().add(60, 'second')
        },
        {
          name: 'Button',
          selector: 'button-click',
          category: 'button',
          type: 'click',
          min: 0,
          max: 6,
          read_only: true,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'e9cc8a96-56b8-41b6-ba99-4c200272abf6',
      name: 'Main sensors',
      selector: 'main-sensors',
      features: [
        {
          name: 'CO',
          selector: 'co-living-room',
          category: 'co-sensor',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: true,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
      name: 'Main Lamp',
      selector: 'main-lamp',
      features: [
        {
          name: 'First lamp',
          selector: 'main-lamp-binary',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'Second lamp ',
          selector: 'secondary-lamp-binary',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Lamp color',
          selector: 'tv-lamp-color',
          category: 'light',
          type: 'color',
          min: 0,
          max: 16777215,
          read_only: false,
          last_value: 65000,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        },
        {
          name: 'TV Lamp brightness',
          selector: 'tv-lamp-brightness',
          category: 'light',
          type: 'brightness',
          min: 0,
          max: 100,
          read_only: false,
          last_value: 55,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'b32daa9a-8f77-4394-b4f3-ffea215062d2',
      name: 'TV Lamp',
      selector: 'tv-lamp',
      features: [
        {
          name: 'TV Lamp feature',
          selector: 'tv-lamp-binary',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'adefb484-223e-478a-8330-8fb1b3a20920',
      selector: 'temperature-living-room',
      features: [
        {
          name: 'Temperature',
          selector: 'temperature-living-room-celsius',
          category: 'temperature-sensor',
          type: 'decimal',
          unit: 'celsius',
          min: -200,
          max: 200,
          read_only: true,
          last_value: 27,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: '81d637d2-b7f5-4cc3-a39e-2270fd069ee2',
      selector: 'mqtt-living-room',
      name: 'MQTT device',
      service: {
        name: 'mqtt'
      },
      features: [
        {
          name: 'Temperature',
          selector: 'mqtt-living-room-temp',
          category: 'temperature-sensor',
          type: 'decimal',
          unit: 'celsius',
          min: -200,
          max: 200,
          read_only: true,
          last_value: 27,
          last_value_changed: '2019-02-12 07:49:07.556 +00:00'
        }
      ]
    },
    {
      id: 'db3e81b6-00d4-4f9b-8aa6-0e50e719a729',
      name: 'AC Conditioning',
      selector: 'air-conditioning',
      features: [
        {
          name: 'AC Conditioning',
          selector: 'air-conditioning',
          category: 'air-conditioning',
          type: 'binary',
          min: 0,
          max: 1,
          read_only: false,
          last_value: 1,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00'
        },
        {
          name: 'AC Conditioning',
          selector: 'air-conditioning',
          category: 'air-conditioning',
          type: 'mode',
          min: 0,
          max: 2,
          read_only: false,
          last_value: 1,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00'
        },
        {
          name: 'AC Conditioning',
          selector: 'air-conditioning',
          category: 'air-conditioning',
          type: 'target-temperature',
          min: 0,
          max: 30,
          read_only: false,
          last_value: 24,
          last_value_changed: '2022-10-10 07:49:07.556 +00:00',
          unit: 'celsius'
        }
      ]
    }
  ],
  'get /api/v1/service/xiaomi': {
    id: '70cb1e17-3b17-4886-83ab-45b00a9e03b1',
    name: 'Xiaomi',
    selector: 'xiaomi'
  },
  'get /api/v1/device/zwave:1234': {
    id: 'fbedb47f-4d25-4381-8923-2633b23192a0',
    service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    name: 'Fibaro Motion Sensor',
    selector: 'zwave:1234',
    external_id: 'test-sensor-external',
    should_poll: false,
    poll_frequency: null,
    created_at: '2019-02-12T07:49:07.556Z',
    updated_at: '2019-02-12T07:49:07.556Z',
    features: [
      {
        name: 'Temperature',
        external_id: 'zwave:1234:temperature',
        selector: 'test-temperature',
        category: 'temperature-sensor',
        unit: 'celsius',
        type: 'decimal'
      },
      {
        name: 'Motion',
        selector: 'test-motion',
        external_id: 'zwave:1234:temperature',
        category: 'motion-sensor',
        type: 'binary'
      },
      {
        name: 'Battery',
        selector: 'test-battery',
        external_id: 'zwave:1234:temperature',
        category: 'battery',
        type: 'integer',
        last_value: '92'
      },
      {
        name: 'Lux',
        selector: 'test-light',
        external_id: 'zwave:1234:temperature',
        category: 'light-sensor',
        type: 'integer'
      }
    ],
    room: {
      id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Living Room',
      selector: 'living-room'
    }
  },
  'get /api/v1/service/zwave': {
    id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
    name: 'Zwave',
    selector: 'zwave'
  },
  'get /api/v1/device/xiaomi:1234': {
    id: 'e5317b24-28e1-4839-9879-0bb7a3102e98',
    name: 'Xiaomi Temperature',
    external_id: 'xiaomi:1234',
    selector: 'xiaomi:1234',
    room_id: 'f99ab22a-e6a8-4756-b1fe-4d19dc8c8620',
    service_id: '70cb1e17-3b17-4886-83ab-45b00a9e03b1',
    features: [
      {
        name: 'Temperature',
        selector: 'xiaomi:12344:temperature',
        external_id: 'xiaomi:12344:temperature',
        category: 'temperature-sensor',
        type: 'decimal',
        unit: 'celsius',
        read_only: true,
        keep_history: true,
        has_feedback: true,
        min: -20,
        max: 60
      },
      {
        name: 'Humidity',
        selector: 'xiaomi:12344:humidity',
        external_id: 'xiaomi:12344:humidity',
        category: 'humidity-sensor',
        type: 'decimal',
        unit: 'percent',
        read_only: true,
        keep_history: true,
        has_feedback: true,
        min: 0,
        max: 100
      },
      {
        name: 'Battery',
        selector: 'xiaomi:12344:battery',
        external_id: 'xiaomi:12344:battery',
        category: 'battery',
        type: 'integer',
        unit: 'percent',
        read_only: true,
        keep_history: true,
        has_feedback: true,
        min: 0,
        max: 100
      }
    ]
  },
  'get /api/v1/service/philips-hue': {
    id: '1147bdef-0c95-40f1-a7ef-922ebcad7d0e',
    name: 'Philips Hue',
    selector: 'philips-hue'
  },
  'get /api/v1/service/philips-hue/light': [
    {
      id: '1',
      name: 'New Lamp',
      model: 'LCT007',
      external_id: 'philips-hue:4'
    },
    {
      id: '2',
      name: 'Living room lamp',
      model: 'LCT007',
      external_id: 'philips-hue:5'
    }
  ],
  'get /api/v1/service/philips-hue/device': [
    {
      id: '1',
      name: 'Lounge Living Color',
      model: 'LCT007',
      external_id: 'philips-hue:1',
      features: [
        {
          name: 'On/Off',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1
        },
        {
          name: 'Color',
          category: 'light',
          type: 'color',
          min: 0,
          max: 1
        }
      ]
    },
    {
      id: '2',
      name: 'Right Bedside',
      type: 'Extended color light',
      model: 'LCT001',
      external_id: 'philips-hue:2',
      features: [
        {
          name: 'On/Off',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1
        },
        {
          name: 'Color',
          category: 'light',
          type: 'color',
          min: 0,
          max: 1
        }
      ]
    },
    {
      id: '3',
      name: 'Left Bedside',
      type: 'Extended color light',
      model: 'LCT001',
      external_id: 'philips-hue:3',
      features: [
        {
          name: 'On/Off',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1
        },
        {
          name: 'Color',
          category: 'light',
          type: 'color',
          min: 0,
          max: 1
        }
      ]
    }
  ],
  'get /api/v1/service/bluetooth': {
    id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
    name: 'bluetooth',
    enabled: true
  },
  'get /api/v1/service/bluetooth/config': {
    presenceScanner: {
      status: 'enabled',
      frequency: 60000
    }
  },
  'get /api/v1/service/bluetooth/device': [
    {
      id: 'fbedb47f-4d25-4381-8923-2633b23192a0',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
      room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Nut Smart Tracker',
      selector: 'bluetooth-sensor',
      external_id: 'test-sensor-external',
      should_poll: false,
      poll_frequency: null,
      created_at: '2019-02-12T07:49:07.556Z',
      updated_at: '2019-02-12T07:49:07.556Z',
      features: [
        {
          name: 'Battery',
          selector: 'test-battery',
          category: 'battery',
          type: 'integer',
          last_value: '12'
        }
      ],
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      }
    }
  ],
  'get /api/v1/device/bluetooth-sensor': {
    id: 'fbedb47f-4d25-4381-8923-2633b23192a0',
    service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
    room_id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
    name: 'Nut Smart Tracker',
    selector: 'bluetooth-sensor',
    external_id: 'bluetooth:external',
    should_poll: false,
    poll_frequency: null,
    created_at: '2019-02-12T07:49:07.556Z',
    updated_at: '2019-02-12T07:49:07.556Z',
    features: [
      {
        name: 'Battery',
        selector: 'test-battery',
        category: 'battery',
        type: 'integer',
        last_value: '12'
      }
    ],
    room: {
      id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
      name: 'Living Room',
      selector: 'living-room'
    }
  },
  'get /api/v1/service/bluetooth/status': {
    ready: true
  },
  'get /api/v1/service/bluetooth/peripheral': [
    {
      name: 'BLE Device 1',
      external_id: 'bluetooth:0011223341',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996279',
      selector: 'bluetooth-0011223341',
      features: [],
      params: [
        {
          name: 'loaded',
          value: false
        }
      ]
    },
    {
      name: 'SML c9',
      model: 'smlc9',
      external_id: 'bluetooth:0011223342',
      selector: 'bluetooth-0011223342',
      features: [],
      params: [
        {
          name: 'loaded',
          value: true
        },
        {
          name: 'manufacturer',
          value: 'AwoX'
        }
      ]
    },
    {
      name: 'Peanut temperature',
      external_id: 'bluetooth:0011223343',
      service_id: 'a810b8db-6d04-4697-bed3-c4b72c996278',
      service: {
        name: 'peanut'
      },
      selector: 'bluetooth-0011223343',
      params: [
        {
          name: 'loaded',
          value: true
        },
        {
          name: 'manufacturer',
          value: 'Peanut'
        }
      ],
      features: [
        {
          name: 'Battery',
          category: 'battery',
          type: 'integer',
          unit: 'percent',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: 0,
          max: 100
        },
        {
          name: 'Temperature',
          category: 'temperature-sensor',
          type: 'decimal',
          read_only: true,
          keep_history: true,
          has_feedback: true,
          min: -100,
          max: 250
        }
      ]
    }
  ],
  'get /api/v1/service/bluetooth/peripheral/bluetooth-0011223341': {
    name: 'BLE Device 1',
    external_id: 'bluetooth:0011223341',
    selector: 'bluetooth-0011223341',
    features: [],
    params: [
      {
        name: 'loaded',
        value: false
      }
    ]
  },
  'get /api/v1/service/bluetooth/peripheral/bluetooth-0011223342': {
    name: 'SML c9',
    model: 'smlc9',
    external_id: 'bluetooth:0011223342',
    selector: 'bluetooth-0011223342',
    features: [],
    params: [
      {
        name: 'loaded',
        value: true
      },
      {
        name: 'manufacturer',
        value: 'AwoX'
      }
    ]
  },
  'get /api/v1/service/bluetooth/peripheral/bluetooth-0011223343': {
    name: 'Peanut temperature',
    external_id: 'bluetooth:0011223343',
    selector: 'bluetooth-0011223343',
    params: [
      {
        name: 'loaded',
        value: true
      },
      {
        name: 'manufacturer',
        value: 'Peanut'
      }
    ],
    features: [
      {
        name: 'Battery',
        category: 'battery',
        type: 'integer',
        unit: 'percent',
        read_only: true,
        keep_history: true,
        has_feedback: true,
        min: 0,
        max: 100
      },
      {
        name: 'Temperature',
        category: 'temperature-sensor',
        type: 'decimal',
        read_only: true,
        keep_history: true,
        has_feedback: true,
        min: -100,
        max: 250
      }
    ]
  },
  'get /api/v1/service/ewelink': {
    id: '45c792a5-051b-4e6f-b746-2dd4c77d9d31',
    name: 'ewelink',
    selector: 'ewelink'
  },
  'get /api/v1/service/ewelink/device': [
    {
      id: '28e8ad03-70a8-431f-93cb-df916019c509',
      room_id: '568981d0-1a4d-40ea-af97-dd4037d2b344',
      name: 'Switch 1',
      selector: 'ewelink-1000768322-0',
      model: 'MINI',
      external_id: 'ewelink:1000768322:0',
      should_poll: true,
      poll_frequency: 60000,
      features: [
        {
          id: '6f8172ed-37e5-4785-94ad-ec33706a31f3',
          device_id: '28e8ad03-70a8-431f-93cb-df916019c509',
          name: 'Switch 1 On/Off',
          selector: 'ewelink-1000768322-0-binary',
          external_id: 'ewelink:1000768322:0:binary',
          category: 'switch',
          type: 'binary',
          read_only: false,
          has_feedback: false,
          min: 0,
          max: 1
        }
      ],
      params: [
        {
          id: '5e1ef948-305b-44c5-bb78-78952b1f5cb2',
          device_id: '28e8ad03-70a8-431f-93cb-df916019c509',
          name: 'IP_ADDRESS',
          value: '0.0.0.1'
        },
        {
          id: 'f3a6f3fa-a7b0-4968-b9fd-2e492ced2274',
          device_id: '28e8ad03-70a8-431f-93cb-df916019c509',
          name: 'FIRMWARE',
          value: '3.3.0'
        },
        {
          name: 'ONLINE',
          value: '1'
        }
      ],
      room: {
        id: 'cecc52c7-3e67-4b75-9b13-9a8867b0443d',
        name: 'Living Room',
        selector: 'living-room'
      },
      service: {
        id: '45c792a5-051b-4e6f-b746-2dd4c77d9d31',
        name: 'ewelink',
        selector: 'ewelink'
      }
    }
  ],
  'get /api/v1/service/ewelink/discover': [
    {
      service_id: '45c792a5-051b-4e6f-b746-2dd4c77d9d31',
      name: 'Switch 2',
      model: 'Basic',
      external_id: 'ewelink:10004636bf:0',
      selector: 'ewelink:10004636bf:0',
      should_poll: true,
      poll_frequency: 60000,
      features: [
        {
          name: 'Switch 2 On/Off',
          external_id: 'ewelink:10004636bf:0:binary',
          selector: 'ewelink:10004636bf:0:binary',
          category: 'switch',
          type: 'binary',
          read_only: false,
          has_feedback: false,
          min: 0,
          max: 1
        }
      ],
      params: [
        {
          name: 'IP_ADDRESS',
          value: '0.0.0.2'
        },
        {
          name: 'FIRMWARE',
          value: '3.2.1'
        },
        {
          name: 'ONLINE',
          value: '1'
        }
      ]
    }
  ],
  'get /api/v1/service/tp-link': {
    id: 'c9fe2705-35dc-417b-b6fc-c4bbb9c69886',
    pod_id: null,
    name: 'tp-link',
    selector: 'tp-link',
    version: '0.1.0',
    has_message_feature: false,
    status: 'RUNNING',
    created_at: '2020-11-11T18:41:40.052Z',
    updated_at: '2020-11-28T07:44:07.731Z'
  },
  'get /api/v1/service/tp-link/device': [
    {
      id: '1',
      name: 'Plug Coffee Machine',
      model: 'HS100',
      external_id: 'tp-link-1',
      features: [
        {
          name: 'On/Off',
          category: 'switch',
          type: 'binary',
          min: 0,
          max: 1
        }
      ]
    },
    {
      id: '2',
      name: 'Light Swimming Pool',
      model: 'LB100',
      external_id: 'tp-link-2',
      features: [
        {
          name: 'On/Off',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1
        }
      ]
    }
  ],
  'get /api/v1/service/tp-link/scan': [
    {
      id: '3',
      name: 'Plug TV Dock',
      model: 'HS100',
      external_id: 'tp-link-3',
      features: [
        {
          name: 'On/Off',
          category: 'switch',
          type: 'binary',
          min: 0,
          max: 1
        }
      ]
    },
    {
      id: '4',
      name: 'Light Bedroom',
      model: 'LB100',
      external_id: 'tp-link-4',
      features: [
        {
          name: 'On/Off',
          category: 'light',
          type: 'binary',
          min: 0,
          max: 1
        }
      ]
    }
  ],
  'get /api/v1/device_feature/aggregated_states?interval=43200&max_states=300&group_by=undefined&device_features=temperature-sensor-1': [
    {
      device: {
        name: 'Kitchen temperature'
      },
      deviceFeature: {
        name: 'Kitchen temperature'
      },
      values: [
        { created_at: dayjs().toISOString(), value: 28 },
        {
          created_at: dayjs()
            .subtract(1, 'day')
            .toISOString(),
          value: 33
        },
        {
          created_at: dayjs()
            .subtract(2, 'day')
            .toISOString(),
          value: 44
        },
        {
          created_at: dayjs()
            .subtract(3, 'day')
            .toISOString(),
          value: 28
        },
        {
          created_at: dayjs()
            .subtract(4, 'day')
            .toISOString(),
          value: 36
        },
        {
          created_at: dayjs()
            .subtract(5, 'day')
            .toISOString(),
          value: 24
        },
        {
          created_at: dayjs()
            .subtract(5, 'day')
            .toISOString(),
          value: 65
        },
        {
          created_at: dayjs()
            .subtract(6, 'day')
            .toISOString(),
          value: 31
        },
        {
          created_at: dayjs()
            .subtract(7, 'day')
            .toISOString(),
          value: 37
        },
        {
          created_at: dayjs()
            .subtract(8, 'day')
            .toISOString(),
          value: 39
        },
        {
          created_at: dayjs()
            .subtract(9, 'day')
            .toISOString(),
          value: 62
        },
        {
          created_at: dayjs()
            .subtract(10, 'day')
            .toISOString(),
          value: 51
        },
        {
          created_at: dayjs()
            .subtract(11, 'day')
            .toISOString(),
          value: 35
        },
        {
          created_at: dayjs()
            .subtract(12, 'day')
            .toISOString(),
          value: 41
        },
        {
          created_at: dayjs()
            .subtract(13, 'day')
            .toISOString(),
          value: 35
        },
        {
          created_at: dayjs()
            .subtract(14, 'day')
            .toISOString(),
          value: 27
        },
        {
          created_at: dayjs()
            .subtract(15, 'day')
            .toISOString(),
          value: 93
        },
        {
          created_at: dayjs()
            .subtract(16, 'day')
            .toISOString(),
          value: 53
        },
        {
          created_at: dayjs()
            .subtract(17, 'day')
            .toISOString(),
          value: 61
        },
        {
          created_at: dayjs()
            .subtract(18, 'day')
            .toISOString(),
          value: 27
        },
        {
          created_at: dayjs()
            .subtract(19, 'day')
            .toISOString(),
          value: 54
        },
        {
          created_at: dayjs()
            .subtract(20, 'day')
            .toISOString(),
          value: 43
        },
        {
          created_at: dayjs()
            .subtract(21, 'day')
            .toISOString(),
          value: 19
        },
        {
          created_at: dayjs()
            .subtract(22, 'day')
            .toISOString(),
          value: 46
        },
        {
          created_at: dayjs()
            .subtract(23, 'day')
            .toISOString(),
          value: 39
        },
        {
          created_at: dayjs()
            .subtract(24, 'day')
            .toISOString(),
          value: 62
        },
        {
          created_at: dayjs()
            .subtract(25, 'day')
            .toISOString(),
          value: 51
        },
        {
          created_at: dayjs()
            .subtract(26, 'day')
            .toISOString(),
          value: 35
        },
        {
          created_at: dayjs()
            .subtract(27, 'day')
            .toISOString(),
          value: 41
        },
        {
          created_at: dayjs()
            .subtract(28, 'day')
            .toISOString(),
          value: 33
        }
      ]
    }
  ],
  'get /api/v1/job': [
    {
      id: 'f69252f4-1216-4021-8fc0-83234da71a4a',
      type: 'monthly-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(1, 'hour')
        .toISOString()
    },
    {
      id: 'b2d590aa-40d7-435a-910a-cf370dde06a9',
      type: 'daily-device-state-aggregate',
      status: 'success',
      progress: 98,
      data: {},
      created_at: dayjs()
        .subtract(1, 'hour')
        .toISOString()
    },
    {
      id: 'd1e7ee47-229c-4b9f-bbaa-201db860cc25',
      type: 'hourly-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(1, 'hour')
        .toISOString()
    },
    {
      id: '06411e01-a909-4531-9246-2e935c16ba69',
      type: 'monthly-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(2, 'hour')
        .toISOString()
    },
    {
      id: '10469873-569a-4dfb-b35c-4468c26542a4',
      type: 'daily-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(2, 'hour')
        .toISOString()
    },
    {
      id: '5307b306-8d95-41e3-9ec6-a5c29d386c9b',
      type: 'hourly-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(2, 'hour')
        .toISOString()
    },
    {
      id: 'c3da516f-3565-4b00-be82-ddd00fe39a12',
      type: 'monthly-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(3, 'hour')
        .toISOString()
    },
    {
      id: '5ca896b5-e810-48f5-bfb6-f3039a6776c5',
      type: 'daily-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(3, 'hour')
        .toISOString()
    },
    {
      id: 'ae916efe-6209-49cb-a2fc-323f3ab5f91d',
      type: 'hourly-device-state-aggregate',
      status: 'success',
      progress: 100,
      data: {},
      created_at: dayjs()
        .subtract(3, 'hour')
        .toISOString()
    }
  ],
  'get /api/v1/service/sonos/device': [
    {
      id: 'c0e21639-4fe9-4d1c-ad65-33255d21bf0d',
      name: 'Sonos Speaker',
      external_id: 'sonos:uuid',
      features: [
        {
          name: 'Sonos Play',
          category: 'music',
          type: 'play',
          min: 1,
          max: 1
        }
      ]
    }
  ],
  'get /api/v1/service/sonos/discover': [
    {
      name: 'Sonos Speaker',
      external_id: 'sonos:uuid',
      features: [
        {
          name: 'Sonos Play',
          category: 'music',
          type: 'play',
          min: 1,
          max: 1
        }
      ]
    },
    {
      name: 'Sonos Speaker',
      external_id: 'sonos:another_uuid',
      features: [
        {
          name: 'Sonos Play',
          category: 'music',
          type: 'play',
          min: 1,
          max: 1
        }
      ]
    }
  ],
  'get /api/v1/service/edf-tempo/state': {
    today_peak_state: 'blue',
    tomorrow_peak_state: 'blue',
    current_hour_peak_state: 'peak-hour'
  }
};

export default data;
